2012-01-10 12 views
23

मैं कुछ मुद्दों पर मैं अब भी पर काम करना होगा लेकिन मैं अभी भी जांच करें और मेरा resque कतारों में विफल रहा है नौकरियों पुन: प्रयास करने के लिए है की वजह से मेरे सर्वर पर resque-वेब चलाने में असमर्थ हूँ।निरीक्षण करें और के माध्यम से resque नौकरियों पुन: प्रयास redis-CLI

किसी को भी कैसे नज़र करने में विफल रहा नौकरियों को देखने के लिए क्या त्रुटि थी कतार और फिर कैसे redis-CLI कमांड लाइन का उपयोग कर इसे पुन: प्रयास करने पर किसी भी अनुभव है?

धन्यवाद,

+1

इसके बाद से Resque सहायकों के सभी प्रकार है एक गहरे लाल रंग का कंसोल का उपयोग करने कि ऐसा करने के लिए आसान हो जाएगा। आप सीधे इसे रेडिस-क्ली में क्यों करना चाहते हैं? – marcgg

+0

धन्यवाद, रेल कंसोल का उपयोग कर के रूप में आप की सिफारिश की मेरी समस्या हल। – Horacio

उत्तर

57

मिला दिए गए लिंक पर एक समाधान:

http://ariejan.net/2010/08/23/resque-how-to-requeue-failed-jobs

रेल कंसोल में हम जांच की और विफल नौकरियों पुन: प्रयास करने के लिए इन आदेशों का उपयोग कर सकते हैं:

1 - जाओ विफल रही नौकरियों की संख्या:

Resque::Failure.count 

2 - त्रुटियों अपवाद वर्ग और पश्व-अनुरेखन

Resque::Failure.all(0,20).each { |job| 
    puts "#{job["exception"]} #{job["backtrace"]}" 
} 

चेक नौकरी वस्तु में विफल रहा है काम के बारे में जानकारी के साथ एक हैश है। आप अधिक जानकारी जांचने के लिए इसका निरीक्षण कर सकते हैं। यह भी ध्यान रखें कि यह केवल पहली 20 विफल नौकरियों को सूचीबद्ध करता है। सुनिश्चित नहीं है कि उन्हें कैसे सूचीबद्ध करें ताकि आपको पूरी सूची प्राप्त करने के लिए मूल्यों (0, 20) को बदलना होगा।

3 - पुन: प्रयास करें सब विफल रही नौकरियों:

(Resque::Failure.count-1).downto(0).each { |i| Resque::Failure.requeue(i) } 

4 - विफल रही नौकरियों रीसेट गिनती:

Resque::Failure.clear 

पुन: प्रयास सभी नौकरियों काउंटर रीसेट नहीं करेगा। हमें इसे साफ़ करना होगा ताकि यह शून्य हो जाए।

+0

भूल Resque भी देखने त्रुटियों और उनके स्टैक ट्रेस के लिए एक आसानी से विन्यास वेब इंटरफेस है कि मत करो। अधिक जानकारी के लिए https://github.com/resque/resque देखें। –

+0

सब विफल रही नौकरियों की सूची के लिए, आप यह कर सकते हैं: 'Resque :: Failure.all (0,0)' –

संबंधित मुद्दे