В README гема resque-retry обсуждается изменение реализации серверной части сбоя при реализации.
MultipleWithRetrySuppression
— это серверная часть с множественными отказами и подавлением повторных попыток.Вот пример использования отказоустойчивого бэкенда Redis:
require 'resque-retry' require 'resque/failure/redis' # require your jobs & application code. Resque::Failure::MultipleWithRetrySuppression.classes = [Resque::Failure::Redis] Resque::Failure.backend = Resque::Failure::MultipleWithRetrySuppression
Если задание завершается с ошибкой, но может и будет повторяться, сведения об ошибке не будут регистрироваться в очереди сбоев Redis (видимой через resque-web).
Если задание завершается ошибкой, но не может или не будет повторить попытку, ошибка будет зарегистрирована в очереди ошибок Redis, как и обычная ошибка (без повторной попытки).
Я не уверен, где в моем приложении Rails должен находиться этот код. Должен ли я просто поместить его в любой случайный файл инициализатора, например. config/initializers/resque.rb
? Или в моем приложении есть какое-то другое место, куда оно должно идти? Документация не ясна.