Проверять и повторять повторное выполнение заданий через Redis-Cli - PullRequest
24 голосов
/ 10 января 2012

Я не могу запустить resque-web на моем сервере из-за некоторых проблем, над которыми мне все еще нужно работать, но мне все еще приходится проверять и повторять неудачные задания в моих очередях resque.

Кто-нибудь знает, как просмотреть очередь невыполненных заданий, чтобы увидеть, что это за ошибка, а затем как ее повторить с помощью командной строки redis-cli?

спасибо,

1 Ответ

61 голосов
/ 13 января 2012

Нашел решение по следующей ссылке:

http://ariejan.net/2010/08/23/resque-how-to-requeue-failed-jobs

В консоли rails мы можем использовать эти команды для проверки и повторения неудачных заданий:

1 -Получить число невыполненных заданий:

 Resque::Failure.count

2 - Проверить класс исключений ошибок и трассировку

Resque::Failure.all(0,20).each { |job|
   puts "#{job["exception"]}  #{job["backtrace"]}"
}

Объект задания представляет собой хэш с информацией о невыполненном задании.Вы можете проверить это, чтобы проверить больше информации.Также обратите внимание, что здесь перечислены только первые 20 неудачных заданий.Не знаете, как перечислить их все, поэтому вам придется изменить значения (0, 20), чтобы получить весь список.

3 - Повторить все неудачные задания:

(Resque::Failure.count-1).downto(0).each { |i| Resque::Failure.requeue(i) }

4 -Сброс счетчика невыполненных заданий:

 Resque::Failure.clear

, повторная попытка всех заданий не приводит к сбросу счетчика.Мы должны очистить его, чтобы он шел к нулю.

...