requests.exceptions.ConnectionError: ('Connection aborted.', error(99, 'Cannot assign requested address'))
मैं जब कई चल रही प्रक्रियाओं अजगर अनुरोध पुस्तकालय का उपयोग और कहा कि बहुत जल्दी (< 10ms) लौट रहा था एक एपीआई के post
फ़ंक्शन को कॉल इस त्रुटि हो रही थी।अनुरोध, बंदरगाहों से अनुरोधित पता असाइन नहीं कर सकते हैं?
चल रही प्रक्रियाओं की संख्या को डायल करने में देरी प्रभाव पड़ा, लेकिन केवल 1 प्रक्रिया तक डायलिंग करने से समस्या समाप्त हो गई। यह एक समाधान नहीं था, लेकिन एक सीमित संसाधन अपराधी था इंगित किया था।
खुलने का एक आउटबाउंड TCP कनेक्शन बेतरतीब ढंग से एक यादृच्छिक प्रदान करती है:
ये सवाल कुछ संबंधित सलाह देनी हो जाता है एक उच्च श्रेणी में पोर्ट नंबर (आईआईआरसी, अधिकतम ~ 64k है; जहां सीमा शुरू होती है, बनाम बंदरगाहों को इनबाउंड उपयोग के लिए आरक्षित किया जाता है, विन्यास योग्य है)। इस प्रकार, यदि आपके पास एक ही समय में आउटबाउंड टीसीपी कनेक्शन की एक बड़ी संख्या है, तो कोई फर्क नहीं पड़ता कि लाइब्रेरी/प्रोग्रामिंग भाषा/आदि। आप इसका उपयोग कर रहे हैं, आप इस मुद्दे को मारने के लिए प्रवण हैं। –
यह उत्तर नोट करता है कि उपलब्ध पोर्ट रेंज 32768 से 61000 है। इसलिए उपलब्ध बंदरगाहों की संख्या = 61000-32768 + 1 = 28233 http://stackoverflow.com/a/11208991/1942007 टिप्पणी के लिए धन्यवाद! – Garren