2009-12-18 8 views
15

में प्रेजेंटप्लिब कैनोटसेन्डआरक्वेट त्रुटि मैंने ट्विटर के साथ प्रमाणित करने के लिए Django के साथ दो अलग पायथन ओथ पुस्तकालयों का उपयोग किया है। सेटअप डब्लूएसजीआई के साथ अपाचे पर है। जब मैं सर्वर को पुनरारंभ करता हूं तो सबकुछ लगभग 10 मिनट तक बढ़िया काम करता है और फिर प्रेजेंटप्लिब लॉक लग रहा है (निम्न त्रुटि देखें)।डब्ल्यूएसजीआई

मैं केवल 1 प्रक्रिया और डब्लूएसजीआई के 1 धागे चला रहा हूं लेकिन ऐसा कोई फर्क नहीं पड़ता।

मुझे यह पता नहीं लगाया जा रहा है कि यह क्यों लॉक हो रहा है और यह कैनोटसेन्डआरक्वेट त्रुटि दे रहा है। मैंने इस निराशाजनक समस्या पर बहुत सारे घंटे बिताए हैं। इसके बारे में कोई भी संकेत/सुझावों की सराहना की जाएगी।

File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 92, in get_response 
    response = callback(request, *callback_args, **callback_kwargs) 

File "mypath/auth/decorators.py", line 9, in decorated 
    return f(*args, **kwargs) 

File "mypath/auth/views.py", line 30, in login 
    token = get_unauthorized_token() 

File "/root/storm/eye/auth/utils.py", line 49, in get_unauthorized_token 
    return oauth.OAuthToken.from_string(oauth_response(req)) 

File "mypath/auth/utils.py", line 41, in oauth_response 
    connection().request(req.http_method, req.to_url()) 

File "/usr/lib/python2.5/httplib.py", line 866, in request 
    self._send_request(method, url, body, headers) 

File "/usr/lib/python2.5/httplib.py", line 883, in _send_request 
    self.putrequest(method, url, **skips) 

File "/usr/lib/python2.5/httplib.py", line 770, in putrequest 
    raise CannotSendRequest() 

CannotSendRequest

उत्तर

25

जब आप नए अनुरोध के लिए httplib.HTTP वस्तु का पुन: उपयोग करते समय आप पिछले अनुरोध के लिए अपने getresponse() विधि कहा जाता havn't यह अपवाद उठाया है। संभवतः टूटी हुई स्थिति में कनेक्शन छोड़ने से पहले कुछ और त्रुटि हुई थी। समस्या को ठीक करने का सबसे आसान विश्वसनीय तरीका प्रत्येक अनुरोध के लिए नया कनेक्शन बना रहा है, इसका पुन: उपयोग नहीं कर रहा है। निश्चित रूप से, यह थोड़ा धीमा हो जाएगा, लेकिन मुझे लगता है कि यह एक समस्या नहीं है जिसमें आप एकल प्रक्रिया और एकल थ्रेड में एप्लिकेशन चला रहे हैं।

+0

बढ़िया! आपकी नोक ने मुझे ट्विटर लेखक लाइब्रेरी में खराब लाइन ढूंढने का नेतृत्व किया था। अनेक अनेक धन्यवाद! – Dave

+3

@ डेव क्योंकि मुझे अपने ट्विटर लेखक लाइब्रेरी के साथ एक ही समस्या है, क्या आप साझा कर सकते हैं कि आपने क्या परिवर्तन किया है? –

+0

@ डेव क्या समाधान है? यदि आपको एक मिला तो समाधान छोड़ना सामान्य सौजन्य है ... – CoolGravatar

0

अपने पायथन संस्करण को भी देखें। पीई-2.6 से पीई-2.7 को अपडेट करने के बाद मुझे एक समान स्थिति थी। पीई-2.6 में सब कुछ बिना किसी समस्या के काम किया। पीई-2.7 जॉस्पलीब डिफ़ॉल्ट रूप से HTTP/1.1 का उपयोग करता है जिसने सर्वर को कनेक्शन वापस नहीं भेजा है: प्रतिक्रिया में विकल्प बंद करें, इसलिए कनेक्शन हैंडलिंग टूटा हुआ था। मेरे मामले में यह हालांकि HTTP/1.0 के साथ काम किया।