import { SharedBullAsyncConfiguration } from "@nestjs/bullmq"; import { ConfigService } from "@nestjs/config"; export function bullMqConfig(): SharedBullAsyncConfiguration { return { inject: [ConfigService], useFactory: async (configService: ConfigService) => ({ connection: { url: configService.getOrThrow("REDIS_URI"), }, defaultJobOptions: { removeOnComplete: false, removeOnFail: false, attempts: 5, // Reasonable default, adjust based on job criticality }, }), }; }