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