🦅 NestJS Intermediate

What is the NestJS Queue module?

Answer

The @nestjs/bull module integrates the Bull queue library (backed by Redis) for background job processing. Register a queue: BullModule.registerQueue({ name: 'email' }). Add jobs to the queue in a service: @InjectQueue('email') private emailQueue: Queue; await this.emailQueue.add('send-welcome', { userId: id });. Create a processor: @Processor('email') class EmailProcessor { @Process('send-welcome') async handle(job: Job) { await this.sendEmail(job.data.userId); } }. Bull supports priority queues, job delays, retry on failure, concurrency control, rate limiting, and scheduled jobs. The newer @nestjs/bullmq package uses BullMQ, a rewrite of Bull with better TypeScript support.