节点公牛队列错误:缺少作业类型 JOB_NAME 的进程处理程序
Posted
技术标签:
【中文标题】节点公牛队列错误:缺少作业类型 JOB_NAME 的进程处理程序【英文标题】:Node Bull Queue Error: Missing process handler for job type 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
?
【问题讨论】:
【参考方案1】:.add()
的第二个参数不应该是 Job 数据吗?您作为第二个参数传入的作业选项是正确的,但它们应该是第三个。
不妨试试这个:
myQueue.add(`myJob-$val`, lorem: "ipsum" ,
attempts: 3,
removeOnFail: true
);
如果我收到Missing process handler for job ___
的相同错误,那是因为我在处理器运行之前添加了作业。当该问题不可避免时,将attempts
(就像您所做的那样)增加到大于 1 的数字已修复它。但是,您将这些作业选项作为data
传递,因此attempts
不会影响您的队列。
【讨论】:
以上是关于节点公牛队列错误:缺少作业类型 JOB_NAME 的进程处理程序的主要内容,如果未能解决你的问题,请参考以下文章
awsglue.utils.GlueArgumentError:参数 --JOB_NAME 是必需的