【问题标题】:how to remove a delayed job from bull js?如何从公牛js中删除延迟的工作?
【发布时间】:2021-07-26 10:42:15
【问题描述】:

我是 Bull 的新手,我的用例是在 10 秒后运行作业,为此,我使用以下代码

  const options = {
    delay: 10000, // in ms
    jobId: myCustomUUID,
  };

  myQueue.add(someRandomData, options);

在将它添加到队列之后,现在在几秒后让我们说 4 秒,我想从队列中删除该作业,因为由于某些情况不再需要它,我该如何实现它。我知道有job.remove()。但是如何将它用于给定的jobId。谁能帮帮我。

【问题讨论】:

标签: node.js scheduler bull


【解决方案1】:

要自动执行此操作,您可以这样设置: https://github.com/OptimalBits/bull/blob/HEAD/REFERENCE.md#user-content-queueadd

假设你有一个队列和一些模型。

const jobOptions = {
        removeOnComplete: true,
        removeOnFail: true
    }
this.queue.add(model, jobOptions)

【讨论】:

    【解决方案2】:
    // first find the job by Id
    const job = await promotionEndQueue.getJob(data.id);
    // then remove the job
    await job?.remove();
    
    

    【讨论】:

      猜你喜欢
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 2012-04-16
      • 2017-01-27
      相关资源
      最近更新 更多