32 lines
843 B
TypeScript
Executable File
32 lines
843 B
TypeScript
Executable File
import { Module, Global } from "@nestjs/common";
|
|
import { BullModule } from "@nestjs/bullmq";
|
|
import { ConfigModule, ConfigService } from "@nestjs/config";
|
|
|
|
@Global()
|
|
@Module({
|
|
imports: [
|
|
BullModule.forRootAsync({
|
|
imports: [ConfigModule],
|
|
useFactory: (configService: ConfigService) => ({
|
|
connection: {
|
|
host: configService.get("redis.host", "localhost"),
|
|
port: configService.get("redis.port", 6379),
|
|
password: configService.get("redis.password"),
|
|
},
|
|
defaultJobOptions: {
|
|
attempts: 3,
|
|
backoff: {
|
|
type: "exponential",
|
|
delay: 1000,
|
|
},
|
|
removeOnComplete: true,
|
|
removeOnFail: false,
|
|
},
|
|
}),
|
|
inject: [ConfigService],
|
|
}),
|
|
],
|
|
exports: [BullModule],
|
|
})
|
|
export class QueueModule {}
|