2012-04-12 5 views
5

Das README der GEM-Datei resque-retry beschreibt das Ändern der Implementierung des Fehler-Backends bei der Implementierung.Wo setze ich meinen Resume-Retry-Fehler-Backend-Code?

MultipleWithRetrySuppression ist ein Mehrfachfehler-Backend mit Wiederholungsunterdrückung.

Hier ist ein Beispiel, das Backend Redis Versagen mit:

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 

Wenn ein Job fehlschlägt, aber kann und Wiederholungs wird, wird nicht die Störungsdetails in der Redis fehlgeschlagen Warteschlange (sichtbar über resque protokolliert -web).

Wenn der Auftrag nicht, aber nicht, wird nicht Wiederholungs kann oder wird der Fehler in der Redis protokolliert fehlgeschlagen Warteschlange, wie ein normaler Ausfall (ohne Wiederholungs) würde.

Ich bin mir nicht sicher, wo in meiner Rails App dieser Code gehen sollte. Sollte ich es einfach in irgendeine zufällige Initialisierungsdatei, z. config/initializers/resque.rb? Oder gibt es einen anderen Ort in meiner App, wo es hingehen sollte? Die Dokumentation ist nicht klar.

+1

Ich denke, Sie haben Recht, müssen diese Zeilen in Initialisierer setzen – MikDiet

+0

sollten Sie wahrscheinlich eine PR für resque-retry mit aktualisierter Dokumentation erstellen – pahnin

Antwort

4

Sieht aus wie ein Initializer ist die beste Wette. Akzeptieren Sie dies als die beste Antwort, es sei denn jemand kommt mit einem besseren Vorschlag.