2011-08-19 13 views
5

हम domain.select() विधि का उपयोग कर रहे हैं, जो कि बोटो प्रदान करता है, SimpleDB से पूछताछ करने के लिए। छोटे प्रश्नों के लिए (डेटा के कुछ घंटों से जुड़े प्रश्न), यह विधि ठीक काम करती है। लेकिन जब मैं से अधिक थ्रेड और लंबी क्वेरी (डेटा के 24 घंटे) का उपयोग शुरू, यह पता समय शुरू होता है stdout पर निम्न त्रुटि दे रही है,:, यह जबबोटो में अनुरोध टाइमआउट (408) त्रुटि को कैसे संभालें?

------------------------- 
     4 0 8 
... 
<?xml version="1.0"?> 
<Response><Errors><Error><Code>QueryTimeout</Code><Message>A timeout occurred when attempting to query domain 'd110824' with query expression 'select * from `d110824` where `timestamp` &gt;= '2011-08-24T10:45:56' and `timestamp` &lt; '2011-08-25T10:45:56' and `identifier` = '00063F052C49' order by `timestamp` asc </Message><BoxUsage>0.0055590278</BoxUsage></Error></Errors><RequestID>....</RequestID></Response> 

मैं एक पुनः प्रयास तंत्र (घातीय backoff) लागू करना चाहते हैं त्रुटि आई है। बोटो इस त्रुटि के लिए कोई अपवाद नहीं फेंकता है और बस इसे प्रिंट करता है। एक पुनः प्रयास तंत्र को लागू करने के लिए, मुझे यह जानने के लिए किसी प्रकार का त्रुटि कोड या अपवाद चाहिए कि त्रुटि हुई है।

बोटो में इसे कैसे प्राप्त किया जाए इस पर कोई विचार?

उत्तर

4

Boto एक 503 पर फिर से प्रयास करेगा, लेकिन पर नहीं एक 408

वहाँ कई चीजें हैं जो Boto पुन: प्रयास कर देगा, एक 503 (नहीं उपलब्ध सेवा), और HTTP त्रुटियों पर कुछ प्रकार के जुड़ने की कोशिश कर रहे हैं सहित । यह घातीय बैकऑफ का उपयोग करेगा, और डिफ़ॉल्ट रूप से 5 बार तक प्रयास करेगा। आप .boto कॉन्फ़िग फ़ाइल में num_retries की स्थापना करके पुनः की संख्या में परिवर्तन कर सकते हैं:

[Boto] 
num_retries = 3 

मैं नहीं जानता कि क्यों यह एक 408 एडब्ल्यूएस डॉक्स मैं ऐसा करने की अनुशंसा देखा है पर पुन: प्रयास नहीं करता है।

+0

आपके उत्तर के लिए धन्यवाद। हाँ, यह 503 पर पुनः प्रयास करता है, लेकिन पता लगाने का कोई तरीका नहीं है, यह 408 के साथ क्या करता है, यह किसी भी अपवाद को भी फेंक नहीं देता है ... बोटो दस्तावेज आदमी को बेकार करता है। – Sujit

+0

बोटो 408 प्रतिक्रिया पर पुनः प्रयास नहीं करता है क्योंकि कई साल पहले हमसे अनुरोध किया गया था, एडब्ल्यूएस द्वारा नहीं। अगर एडब्ल्यूएस दस्तावेज अब कहता है कि इसे पुनः प्रयास किया जाना चाहिए, तो इसे पुनः प्रयास करने के लिए बोटो को बदला जाना चाहिए। मैं गिथब पर टिकट दाखिल करने का सुझाव दूंगा और मैं इसका व्यक्तिगत रूप से ख्याल रखूंगा। – garnaat

+1

बीटीडब्ल्यू, सुजीत, किसी भी मौके पर आप बोटो डॉक्स के साथ समस्याओं के बारे में अधिक विशिष्ट हो सकते हैं? मैं समुदाय से सुधार के लिए सुझाव प्राप्त करने में हमेशा खुश हूं। धन्यवाद! – garnaat

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