2012-04-12 25 views
5

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 में लॉग इन किया जाएगा कर सकते हैं कतार में विफल रहा है, एक सामान्य विफलता की तरह (पुन: प्रयास के बिना) होगा।

मुझे यकीन नहीं है कि मेरे रेल ऐप में कोड कहाँ जाना चाहिए। क्या मुझे इसे किसी भी यादृच्छिक प्रारंभकर्ता फ़ाइल में रखना चाहिए, उदा। config/initializers/resque.rb? या क्या मेरे ऐप में कुछ और जगह है जहां इसे जाना चाहिए? दस्तावेज स्पष्ट नहीं है।

+1

मुझे लगता है कि आप सही हैं, इन लाइनों को प्रारंभकर्ता – MikDiet

+0

में रखने की आवश्यकता है, आपको संभवतः अद्यतन दस्तावेज़ीकरण के साथ पुन: प्रयास करने के लिए पीआर बनाना चाहिए – pahnin

उत्तर

4

ऐसा लगता है कि प्रारंभकर्ता सबसे अच्छा शर्त है। इसे सर्वश्रेष्ठ जवाब के रूप में स्वीकार करते हुए जब तक कोई बेहतर सुझाव के साथ आता है।