I create a simple queue-job system with using BullQueue
in TypeScript and NestJS like below:
async addToQueue(): Promise<void> {
try {
await this.reportQueue.add('generate_report', {
//some data
})
this.logger.log(`Added to queue.`)
} catch (error) {
this.logger.error(`Not added to Queue.`);
}
}
@Process('generate_report')
async generateReport(job: Job<{options: ReportFilterDto, context: CustomContext, reportType: Type, worktime?: WorktimeDto}>): Promise<any> {
try {
//some working code
} catch (error) {
//
}
}
@OnQueueActive()
async onActive(job: Job): Promise<void> {
//
}
@OnQueueCompleted()
async onCompleted(job: Job): Promise<void> {
//
}
@OnQueueWaiting()
async onWaiting(job: Job): Promise<void> {
//
}
@OnQueueFailed()
onError(job: Job<any>, error: BadRequestException): void {
//
}
i run my function addToQueue()
from my controller where i provide a parameters, buuuuuut
it is possible to return any response to the client from the queue about sucessfull or failed job?
If it is possible can someone show how to do it?
thanks for any help
.////////////////////////.