我正在尝试process
在不同的processor
文件 itef 中运行它,因为它在bull
文档中,我添加了如下文件。
// -------- Queue.js ----------
formatQueue.process(__dirname + "/processors/format-worker.js");
// On Cmplete Handler
formatQueue.on('completed', function(job, result){
console.log(result, "Format-Complete-job"); // result is undefined
if(job.data.is_well_format){
existenceQueue.add(job.data, { attempts: 3, backoff: 1000 });
}else QueueModel.lastStep(job.data)
});
// -------- Queue.js ends ---------
//format-worker.js
Validator = require("../../validators");
module.exports = (job) => {
Validator.Format.validate(job.data, (data) => {
job.data = data;
return Promise.resolve(data);
});
}
现在在我之前使用的作业完成时,我曾经使用更新的作业参数获取作业数据。现在我没有得到更新的工作数据。文档中的第二个参数result
是undefined
. 现在在这种情况下如何获取更新的作业数据。
和工作正常,我运行job
如下。processors
process
formatQueue.process(function(job, done){
Validator.Format.validate(job.data, (data) => {
job.data = data;
done();
});
});
在这种情况下,作业数据本身正在更新,并且效果也很好。
我有多个队列在做不同的工作,一旦前一个工作成功完成,那么只有我需要另一个工作来开始工作。我还有另一个问题,我已经提到了那里的用例。请在这里查看。