Requests pool_maxsize पेक्षा जास्त कनेक्शन का उघडतो
मर्यादित पूलसाठी pool_block वापरा, आणि जेव्हा मर्यादेने प्रॉक्सीमधून जाणारा सर्व रहदारी समाविष्ट करायचा असेल तेव्हा ॲप्लिकेशन-स्तरीय बजेट जोडा.
डीफॉल्ट pool_block=False सह, pool_maxsize पूलमध्ये ठेवलेली कनेक्शन मर्यादित करतो, एकाच वेळी होणारे प्रत्येक कनेक्शन नाही. Requests अतिरिक्त कनेक्शन तयार करून नंतर ती टाकून देऊ शकतो.
विद्यमान सत्राच्या HTTPS विनंत्या वापरत असलेल्या मर्यादित पूलसाठी:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)माउंट HTTPS गंतव्य URL निवडतो. HTTP विनंत्या http:// अंतर्गत माउंट केलेला अडॅप्टर वापरतात.
| इनपुट | ते काय नियंत्रित करते |
|---|---|
| pool_connections | मॅनेजर किती पूल कॅश करतो |
| pool_maxsize | एका पूलमधील कनेक्शन |
| pool_block=True | अतिरिक्त तयार करण्याऐवजी पूल कनेक्शनची वाट पाहणे |
Requests प्रॉक्सी URL नुसार प्रॉक्सी मॅनेजर देखील कॅश करतो. ही मूल्ये फिरत्या प्रॉक्सी आणि गंतव्यांच्या यादीवर एकच एकूण मर्यादा तयार करत नाहीत. जर सर्व काम एकाच मध्यस्थातून जायचे असेल तर ॲप्लिकेशन-स्तरीय समवर्ती बजेट वापरा.
ब्लॉकिंग प्रतिसाद मुक्त करणे आवश्यक करते: बॉडी वापरा किंवा स्ट्रीमिंग प्रतिसाद बंद करा जेणेकरून प्रतीक्षा करणारे काम पुढे जाऊ शकेल. दाखवलेल्या रचनेत Requests चा अडॅप्टर या पूल-प्रतीक्षेसाठी वेगळा टाइमआउट देत नाही.