Pool proxy může z jednoduchého výpadku udělat zaneprázdněnou smyčku. Vyberte adresu, selže, vyberte jinou, selže znovu. Pokud je každý koncový bod nedostupný, protože vaše vlastní síť nefunguje, změna adres nikdy neopraví příčinu.

Dejte operaci rozpočet dřív, než vyberete první proxy z poolu nebo seznamu bezplatných proxy: konečný počet pokusů, omezené čekání na připojení a čtení a termín pro celý úkol. Timeout Requests řídí své dokumentované chování připojení nebo čtení; sám o sobě neomezuje smyčku, která dál vydává nové požadavky.

Rozhodněte, co si zaslouží další pokus

  • Odmítnuté připojení přes proxy může ospravedlnit vyzkoušení jiného koncového bodu.
  • Odpověď cíle potřebuje vlastní výklad. Přijetí chyby HTTP dokazuje, že nějaká cesta požadavku se dokončila.
  • Selhání autentizace proxy vyžaduje kontrolu koncového bodu a účtu, ne bušení stejnými přihlašovacími údaji přes rostoucí seznam.

Uchovávejte původní výjimku nebo stav spolu se záznamem pokusu. Závěrečná zpráva obsahující jen „všechny proxy selhaly“ skrývá, zda selhání měla vůbec stejnou příčinu.

Kontrola stavu každé proxy před každým skutečným požadavkem přidává další požadavek a přesto nemůže zaručit, že další uspěje. Znovu použijte nedávné informace o stavu tam, kde se hodí k úloze, a pak nechte skutečnou operaci nahlásit vlastní výsledek.

Opakovaný pokus může práci zopakovat

U načtení jen pro čtení je přechod na jinou proxy obvykle jednodušší než opakované přehrání odeslání. Pokud spojení spadne po odeslání nákupu nebo formuláře, cíl jej už mohl zpracovat. Před opakováním práce se řiďte mechanismem idempotence služby a pravidly opakování HTTP.

Když je rozpočet vyčerpán, vraťte užitečné selhání. Úloha, která se zastaví s důkazy, se opravuje snadněji než ta, která tiše rotuje, dokud si toho někdo nevšimne.

Související články