微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

节点公牛队列错误:缺少作业类型 JOB_NAME

如何解决节点公牛队列错误:缺少作业类型 JOB_NAME

我正在创建节点公牛队列并将动态名称作为选项传递给 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

解决方法

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

可以试试这个:

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。