Files
wwjcloud/src/common/queue/queue.module.ts

43 lines
1.1 KiB
TypeScript
Raw Normal View History

import { Module, Global } from '@nestjs/common';
import { BullModule } from '@nestjs/bullmq';
import { ConfigModule, ConfigService } from '@nestjs/config';
/**
* -
* NestJS
* 参考: https://docs.nestjs.cn/techniques/queues
* 使 BullMQ
*/
@Global()
@Module({
imports: [
BullModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => {
const redisConfig = configService.get('redis');
return {
connection: {
host: redisConfig.host,
port: redisConfig.port,
password: redisConfig.password,
db: redisConfig.db,
},
defaultJobOptions: {
removeOnComplete: 10,
removeOnFail: 5,
attempts: 3,
backoff: {
type: 'exponential',
delay: 2000,
},
},
};
},
}),
],
exports: [BullModule],
})
export class QueueModule {}