Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何在NestJs Bull中注册多个队列?_Typescript_Cron_Config_Nestjs - Fatal编程技术网

Typescript 如何在NestJs Bull中注册多个队列?

Typescript 如何在NestJs Bull中注册多个队列?,typescript,cron,config,nestjs,Typescript,Cron,Config,Nestjs,我试图在NestJs中创建多个队列,文档中说: 通过将多个逗号分隔的配置对象传递给registerQueue()方法来创建多个队列 但这对我不起作用,因为当我尝试这样做时,VScode建议我在这里提到Bull选项,在逗号之后。下面是我对单个队列的配置,如何注册多个队列 @Module({ imports: [ ConfigModule, BullModule.registerQueueAsync({ name: 'Queue1',

我试图在NestJs中创建多个队列,文档中说:

通过将多个逗号分隔的配置对象传递给registerQueue()方法来创建多个队列

但这对我不起作用,因为当我尝试这样做时,VScode建议我在这里提到Bull选项,在逗号之后。下面是我对单个队列的配置,如何注册多个队列

@Module({
    imports: [
        ConfigModule,
        BullModule.registerQueueAsync({
            name: 'Queue1',
            imports: [ConfigModule],
            useFactory: async (configService: ConfigService) => ({
                redis: {
                    host: configService.get('QUEUE_HOST'),
                    port: +configService.get('QUEUE_PORT'),
                },
            }),
            inject: [ConfigService],
        }),
        HttpModule,
    ],
    controllers: [ScheduleController],
    providers: [MainConsumer], //Service is included here
})

export class AppModule {}


registerQueue和registerQueueAsync方法都将逗号分隔的值作为met中的参数接收

正如NestJS网站所述:

通过将多个逗号分隔的配置对象传递给registerQueue()方法来创建多个队列

所以,基本上你必须做以下事情来解决这个问题

@模块({
进口:[
配置模块,
BullModule.registerQueueAsync({
名称:“队列1”,
导入:[ConfigModule],
useFactory:async(configService:configService)=>({
redis:{
主机:configService.get('QUEUE\u host'),
端口:+configService.get('QUEUE\u port'),
},
}),
inject:[ConfigService],
}, {
名称:“队列2”,
导入:[ConfigModule],
useFactory:async(configService:configService)=>({
redis:{
主机:configService.get('QUEUE\u host'),
端口:+configService.get('QUEUE\u port'),
},
}),
inject:[ConfigService],
}),
HttpModule,
],
控制器:[调度控制器],
提供者:[MainConsumer],//此处包含服务
})
导出类AppModule{}