【问题标题】:Node Bull Queue Error: Missing process handler for job type JOB_NAME节点公牛队列错误:缺少作业类型 JOB_NAME 的进程处理程序
【发布时间】:2021-06-09 17:49:03
【问题描述】:

我正在创建节点公牛队列并将动态名称作为选项传递给Queue.add function

myQueue.add(`myJob-${val}`, {
    attempts: 3,
    removeOnFail: true
});

我正在为上述工作定义如下进程名称

myQueue.process(`myJob-${val}`, async (job, callback) => {
    try {
        console.log('Processing job', job.id, job.data);
        callback();

    } catch (err) {
        console.log(err);
    }
});

但是,我遇到了错误

Job ID 1 failed Error: Missing process handler for job type myJob-123

如何用动态名称值正确定义processor

【问题讨论】:

    标签: node.js asynchronous redis queue bull-queue


    【解决方案1】:

    .add() 的第二个参数不应该是 Job 数据吗?您作为第二个参数传入的作业选项是正确的,但它们应该是第三个。

    不妨试试这个:

    myQueue.add(`myJob-${val}`, { lorem: "ipsum" }, {
        attempts: 3,
        removeOnFail: true
    });
    

    如果我收到Missing process handler for job ___ 的相同错误,那是因为我在处理器运行之前添加了作业。当该问题不可避免时,将attempts(就像您所做的那样)增加到大于 1 的数字已修复它。但是,您将这些作业选项作为data 传递,因此attempts 不会影响您的队列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-16
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 2018-09-11
      • 2016-06-27
      相关资源
      最近更新 更多