Где я могу поместить свой серверный код ошибки повторной попытки повторной попытки?

В 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? Или в моем приложении есть какое-то другое место, куда оно должно идти? Документация не ясна.


person Matt Huggins    schedule 12.04.2012    source источник
comment
Я думаю, вы правы, нужно поместить эти строки в инициализатор   -  person mikdiet    schedule 12.04.2012
comment
вам, вероятно, следует создать PR для повторной попытки с обновленной документацией   -  person pahnin    schedule 07.08.2014


Ответы (1)


Похоже, инициализатор - лучший выбор. Принять это как лучший ответ, если кто-то не предложит лучшее предложение.

person Matt Huggins    schedule 30.08.2012