BullMQ
Search…
⌃K

NestJs

There is a compatible module to be used in NestJs.
npm i @nestjs/bullmq
Once the installation process is complete, we can import the BullModule into the root AppModule.
import { Module } from '@nestjs/common';
import { BullModule } from '@nestjs/bullmq';
@Module({
imports: [
BullModule.forRoot({
connection: {
host: 'localhost',
port: 6379,
},
}),
],
})
export class AppModule {}
To register a queue, import the BullModule.registerQueue() dynamic module, as follows:
BullModule.registerQueue({
name: 'test',
});

Processor

To register a processor, you may need to use Processor decorator:
import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
import { Job } from 'bullmq';
@Processor('queueName')
class TestProcessor extends WorkerHost {
async process(job: Job<any, any, string>): Promise<any> {
// do some stuff
}
@OnWorkerEvent('completed')
onCompleted() {
// do some stuff
}
}
And then register it as a provider:
@Module({
imports: [
BullModule.registerQueue({
name: 'queueName',
connection: {
host: '0.0.0.0',
port: 6380,
},
}),
],
providers: [TestProcessor],
})
export class AppModule {}

Read more:

Copyright (c) Taskforce.sh Inc.