Pool proxy môže z jednoduchého výpadku urobiť zaneprázdnenú slučku. Vyberte adresu, zlyhá, vyberte inú, zlyhá znova. Ak je každý koncový bod nedostupný, pretože vaša vlastná sieť nefunguje, zmena adries nikdy neopraví príčinu.

Dajte operácii rozpočet skôr, než vyberiete prvú proxy z poolu alebo zoznamu bezplatných proxy: konečný počet pokusov, obmedzené čakanie na pripojenie a čítanie a termín pre celú úlohu. Timeout Requests riadi svoje dokumentované správanie pripojenia alebo čítania; sám o sebe neobmedzuje slučku, ktorá ďalej vydáva nové požiadavky.

Rozhodnite, čo si zaslúži ďalší pokus

  • Odmietnuté pripojenie cez proxy môže ospravedlniť vyskúšanie iného koncového bodu.
  • Odpoveď cieľa potrebuje vlastný výklad. Prijatie chyby HTTP dokazuje, že nejaká cesta požiadavky sa dokončila.
  • Zlyhanie autentifikácie proxy vyžaduje kontrolu koncového bodu a účtu, nie búšenie rovnakými prihlasovacími údajmi cez rastúci zoznam.

Uchovávajte pôvodnú výnimku alebo stav spolu so záznamom pokusu. Záverečná správa obsahujúca len „všetky proxy zlyhali“ skrýva, či zlyhania mali vôbec rovnakú príčinu.

Kontrola stavu každej proxy pred každou skutočnou požiadavkou pridáva ďalšiu požiadavku a napriek tomu nemôže zaručiť, že ďalšia uspeje. Znova použite nedávne informácie o stave tam, kde sa hodia k úlohe, a potom nechajte skutočnú operáciu nahlásiť vlastný výsledok.

Opakovaný pokus môže prácu zopakovať

Pri načítaní len na čítanie je prechod na inú proxy zvyčajne jednoduchší ako opakované prehratie odoslania. Ak spojenie spadne po odoslaní nákupu alebo formulára, cieľ ho už mohol spracovať. Pred opakovaním práce sa riaďte mechanizmom idempotencie služby a pravidlami opakovania HTTP.

Keď je rozpočet vyčerpaný, vráťte užitočné zlyhanie. Úloha, ktorá sa zastaví s dôkazmi, sa opravuje ľahšie ako tá, ktorá ticho rotuje, kým si to niekto nevšimne.

Súvisiace články