Я пытаюсь запустить process
в другом processor
файле itsef, как указано в 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();
});
});
В этом случае обновляются сами данные о задании, и это тоже работает.
У меня есть несколько очередей, выполняющих разные задания. После успешного завершения предыдущей работы мне нужна только другая работа, чтобы начать работу. У меня есть еще один вопрос, и я упомянул там вариант использования. проверьте это здесь.