0

我有一个函数可以让我加入这样的工作队列:

    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 并为数据库中的这条记录设置状态?

4

1 回答 1

0

您可以使用作业 ID,并在进程中的作业参数中获取它。

于 2020-12-10T20:00:41.597 回答