Sustabdykite amžinai besisukantį proxy rotacijos ciklą
Duokite Python proxy telkiniui baigtinį bandymų biudžetą ir atskirkite ryšio klaidas nuo paskirties svetainės atsakymų.
Proxy telkinys gali paprastą sutrikimą paversti užimtu ciklu. Pasirinkite adresą, nepavyksta, pasirinkite kitą, vėl nepavyksta. Jei kiekvienas galinis taškas nepasiekiamas, nes jūsų pačių tinklas neveikia, adresų keitimas niekada neištaisys priežasties.
Duokite operacijai biudžetą prieš pasirinkdami pirmąjį proxy iš savo telkinio ar nemokamų proxy sąrašo: baigtinį bandymų skaičių, apribotus prisijungimo ir skaitymo laukimo laikus bei visos užduoties terminą. Requests skirtasis laikas valdo dokumentuotą prisijungimo ar skaitymo elgesį; jis pats savaime neriboja ciklo, kuris toliau siunčia naujas užklausas.
Nuspręskite, kas nusipelno dar vieno bandymo
- Atmestas proxy ryšys gali pateisinti kito galinio taško bandymą.
- Paskirties atsakymas reikalauja savo interpretacijos. Gavus HTTP klaidą įrodoma, kad koks nors užklausos kelias buvo baigtas.
- Proxy autentifikavimo klaida reikalauja patikrinti galinį tašką ir paskyrą, o ne daužyti tuos pačius prisijungimo duomenis per augantį sąrašą.
Išsaugokite pradinę išimtį arba būseną kartu su bandymo įrašu. Galutinė žinutė, kurioje tik „visi proxy nepavyko“, paslepia, ar klaidos apskritai turėjo tą pačią priežastį.
Kiekvieno proxy būklės tikrinimas prieš kiekvieną tikrą užklausą prideda dar vieną užklausą ir vis tiek negali garantuoti, kad kita pavyks. Naudokite naujausią būklės informaciją ten, kur ji tinka užduočiai, o tada leiskite tikrajai operacijai pranešti savo rezultatą.
Pakartotinis bandymas gali pakartoti darbą
Tik skaitant duomenis, paprastai lengviau pereiti prie kito proxy nei kartoti pateikimą. Jei ryšys nutrūksta išsiuntus pirkimą ar formos pateikimą, paskirtis galbūt jau jį apdorojo. Prieš kartodami darbą vadovaukitės paslaugos idempotentiškumo mechanizmu ir HTTP pakartotinių bandymų taisyklėmis.
Kai biudžetas išnaudotas, grąžinkite naudingą klaidą. Užduotis, kuri sustoja su įrodymais, lengviau sutaisoma nei ta, kuri tyliai sukasi, kol kas nors pastebi.