我有一个函数可以让我加入这样的工作队列:
async addJob(someParameters: SomeParameters): Promise<void> {
await this.saveToDb(someParameters);
try {
await this.jobQueue.add('job', {
someParameters
})
} catch (error) {
}
}
但在添加到队列之前,我将数据保存在数据库中。我的实体有一个带有一些参数的枚举字段“状态”。
在我的job.process.ts
我有我的队列处理器:
@Process('job')
async runJob(job: Job<{param: SomeParameters}>): Promise<any> {
try {
await this.launchMyFunction(param);
}
}
}
以及监控队列中作业的另一个功能:
@OnQueueCompleted()
async onCompleted(job: Job): Promise<void> {
await this.updateJobStatus(here must be ID from DB); //HERE IS PROBLEM
}
现在我有一个问题,如何从我的数据库中获取队列中当前作业的 ID 并为数据库中的这条记录设置状态?