Ответ 1
Это не упоминается в документации и примерах, но существует метод update для job
.
Вы можете обновить свои задания на job_id
следующим образом:
// you have the job_id
var job_id_to_update = 1;
// get delayed jobs
jobs.delayed( function( err, ids ) {
ids.forEach( function( id ) {
kue.Job.get( id, function( err, job ) {
// check if this is job we want
if (job.data.job_id === job_id_to_update) {
// change job properties
job.data.title = 'set another title';
// save changes
job.update();
}
});
});
});
Полный пример здесь.
Обновление: вы также можете использовать "собственный" идентификатор задания, который известен для kue. Вы можете получить идентификатор задания при создании задания:
var myjob = jobs.create('myQueue', ...
.save(function(err) {
if (err) {
console.log( 'jobs.create.err', err );
}
var job_id = myjob.id;
// you can send job_id back to the client
});
Теперь вы можете напрямую изменить задание без циклического перебора:
kue.Job.get( id, function( err, job ) {
// change job properties
job.data.title = 'set another title';
// save changes
job.update();
});