Этот вопрос старый, но в интернете до сих пор нет решения для тех, кто сталкивается с этой проблемой даже при размещении save()
... Я выделил для себя три шага решения проблемы:
<сильный>1. Убедитесь, что вы вызываете метод save()
для своих заданий ПОСЛЕ того, как вы установили для них обработчики.
var job = queue.create('some process', some_args);
job.on('complete', function(result) {
console.log('complete');
}).on('failed', function(result) {
console.log('failed');
}).removeOnComplete(true).save();
P.S. Также рекомендуется удалять задания по завершении, иначе вы переполните память Redis.
<сильный>2. Убедитесь, что ваши обработчики в порядке.
Я сам экспериментировал с обработчиками событий, пытаясь передать им несколько аргументов. Мой "сбойный" обработчик событий принял как код ошибки, так и другие данные, которые я передал через метод done(err, data)
. Это было неправильно. Поэтому проверьте документацию и официальные примеры Kue, чтобы убедиться, что ваш код не содержит ошибок.
<сильный>3. Если ничего не помогает, выполните redis-cli flushall
в своем терминале.
И ОСТОРОЖНО!!! Это удалит все в вашем redis. Я сам в этом новичок, поэтому он используется только как зависимость для Kue в моей системе. Я точно не знаю, но я предполагаю, что это может уничтожить ваши данные, которые вы можете использовать в Redis. Хотя это как-то решает проблему, когда уже ничего не помогает.
Все, пожалуйста, не стесняйтесь предлагать любые другие безопасные способы исправления Kue с помощью Redis.
P.S. Не проверял, но полагаю, что изменение имени процесса для ваших заданий (в моем примере это «какой-то процесс») также может решить проблему.
person
mvlabat
schedule
11.07.2016