В 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-сеть).
Если задание завершается с ошибкой, но не может или не будет повторить попытку, сбой будет зарегистрирован в очереди сбоев Redis, как и обычный сбой(без повторной попытки ).
Я не уверен, где в моем приложении Rails должен располагаться этот код. Должен ли я просто поместить его в любой случайный файл инициализатора, например. config/initializers/resque.rb
? Или в моем приложении есть какое-то другое место, куда оно должно идти? Документация не ясна.