प्रॉक्सी रोटेशन लूप अनंत काळ चालू राहण्यापासून थांबवा
Python प्रॉक्सी पूलला मर्यादित प्रयत्नांचे बजेट द्या आणि कनेक्शन अपयशांना गंतव्याच्या प्रतिसादांपासून वेगळे करा.
प्रॉक्सी पूल साध्या बिघाडाचे व्यस्त लूपमध्ये रूपांतर करू शकतो. पत्ता निवडा, अपयश, दुसरा निवडा, पुन्हा अपयश. जर प्रत्येक एंडपॉइंट अगम्य असेल कारण तुमचे स्वतःचे नेटवर्क बंद आहे, तर पत्ते बदलल्याने कारण कधीच दुरुस्त होत नाही.
तुमच्या पूलमधील पहिला प्रॉक्सी किंवा मोफत प्रॉक्सी सूची निवडण्यापूर्वी कामाला बजेट द्या: मर्यादित प्रयत्न, मर्यादित कनेक्शन व वाचन प्रतीक्षा, आणि संपूर्ण कामासाठी अंतिम मुदत. Requests टाइमआउट त्याच्या नोंदवलेल्या कनेक्शन किंवा वाचन वर्तनावर नियंत्रण ठेवतो; तो स्वतः नवीन विनंत्या पाठवत राहणाऱ्या लूपला मर्यादित करत नाही.
आणखी एक प्रयत्न कशाला पात्र आहे ते ठरवा
- नाकारलेले प्रॉक्सी कनेक्शन दुसरा एंडपॉइंट प्रयत्न करण्याचे समर्थन करू शकते.
- गंतव्याच्या प्रतिसादाचा स्वतःचा अर्थ लावावा लागतो. HTTP त्रुटी मिळणे हे सिद्ध करते की काही विनंती-मार्ग पूर्ण झाला.
- प्रॉक्सी प्रमाणीकरण अपयशामुळे वाढत्या सूचीतून तीच क्रेडेन्शियल्स ठोकण्याऐवजी एंडपॉइंट व खाते तपासणे आवश्यक आहे.
मूळ अपवाद किंवा स्थिती प्रयत्नाच्या नोंदीसोबत ठेवा. फक्त “सर्व प्रॉक्सी अपयशी झाले” असे म्हणणारा अंतिम संदेश अपयशांना एकच कारण होते का हे लपवतो.
प्रत्येक खऱ्या विनंतीपूर्वी प्रत्येक प्रॉक्सीची आरोग्य तपासणी केल्याने आणखी एक विनंती जोडली जाते आणि पुढील यशस्वी होईल याची हमी तरीही देता येत नाही. कामाला अनुकूल तिथे अलीकडील आरोग्य माहिती पुन्हा वापरा, मग खऱ्या कामाला त्याचा निकाल कळवू द्या.
पुन्हा प्रयत्न केल्यास काम पुन्हा होऊ शकते
फक्त वाचनासाठी आणण्यात दुसऱ्या प्रॉक्सीकडे जाणे सहसा सबमिशन पुन्हा चालवण्यापेक्षा सोपे असते. खरेदी किंवा फॉर्म सबमिशन पाठवल्यानंतर कनेक्शन तुटल्यास, गंतव्याने ते आधीच प्रक्रिया केले असेल. काम पुन्हा चालवण्यापूर्वी सेवेची idempotency यंत्रणा आणि HTTP पुनर्प्रयत्न नियम पाळा.
बजेट संपल्यावर उपयुक्त अपयश परत द्या. पुराव्यासह थांबणारे काम कोणाच्या लक्षात येईपर्यंत गुपचूप फिरत राहणाऱ्या कामापेक्षा दुरुस्त करणे सोपे असते.