/ / ¿Dónde pongo mi código de backend de reintento de reintento? - Ruby-on-Rails, ruby-on-Rails-3, resque, resque-reintentar

¿Dónde pongo mi código de backend de reintento de reintento? - Ruby-on-Rails, ruby-on-Rails-3, resque, resque-reintentar

los volver a intentar El archivo README de gem "s discute el cambio de la implementación de backend durante la implementación.

MultipleWithRetrySuppression es un backend de fallas múltiples, con supresión de reintentos.

Aquí hay un ejemplo, usando el backend de fallas de 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

Si un trabajo falla, pero puede y lo hará vuelva a intentarlo, los detalles de la falla no se registrarán en la cola fallada de Redis (visible a través de resque-web).

Si el trabajo falla, pero puede "t o won" t vuelva a intentarlo, el fallo se registrará en la cola de fallos de Redis, como un fallo normal (sin volver a intentarlo) haría.

No estoy seguro de dónde debería ir ese código en mi aplicación Rails. ¿Debo ubicarlo en cualquier archivo de inicializador aleatorio, por ejemplo? config/initializers/resque.rb? ¿O hay algún otro lugar en mi aplicación donde debería ir? La documentación no está clara.

Respuestas

4 para la respuesta № 1

Parece que un inicializador es la mejor apuesta. Aceptar esto como la mejor respuesta a menos que alguien venga con una mejor sugerencia.