【问题标题】:How to set "status" in queue如何在队列中设置“状态”
【发布时间】:2021-02-11 07:14:57
【问题描述】:

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

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

【问题讨论】:

  • 你试过job id吗?

标签: javascript typescript queue task-queue bull-queue


【解决方案1】:

您可以使用job id,并在进程中的job参数中获取它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2018-11-29
    相关资源
    最近更新 更多