【发布时间】:2020-10-26 15:41:53
【问题描述】:
我在 TypeScript 和 NestJS 中使用 BullQueue 创建了一个简单的队列作业系统,如下所示:
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 {
//
}
我从我的控制器运行我的函数addToQueue(),在那里我提供了一个参数,buuuuuut
是否可以从队列中向客户端返回有关成功或失败作业的任何响应?
如果可能的话,有人可以告诉我怎么做吗?
感谢您的帮助
./////////////////////.
【问题讨论】:
-
你的问题有点不清楚,但取决于你想要做什么,考虑
await job.finished()
标签: javascript typescript queue nestjs