Ryšio ir skaitymo laiko limitai riboja konkrečius laukimus. Jie nebūtinai riboja visą proxy operaciją, kuri taip pat gali apimti laukimą eilėje, DNS, CONNECT, TLS, peradresavimus, pakartotinius bandymus ir atsakymo skaitymą.

RibaApimtis
Ryšio laiko limitasRyšio užmezgimas pagal kliento apibrėžimą
Skaitymo neveiklumo laiko limitasLaukimas be tikėtinos duomenų pažangos
Bendras terminasLeidžiama visos operacijos trukmė

Pradėkite nuo operacijos biudžeto

Naudokite kliento dokumentuotą bendrą terminą arba atšaukimo mechanizmą, kai jis yra, kartu su fazių ribomis. HTTPX atskiria baseino, ryšio, skaitymo ir rašymo laukimus. Requests nurodo, kad jo laiko limitas nėra viso atsisiuntimo riba. curl siūlo bendrą perdavimo terminą.

Pavyzdžiui, dvidešimties sekundžių užduotis praleidžia dvi sekundes eilėje, tris kurdama maršrutą ir šešias nesėkmingai apsikeisdama. Jos kitam bandymui lieka maždaug devynios sekundės. Duoti kiekvienam pakartotiniam bandymui naujas dvidešimt sekundžių reikštų išmesti pradinį biudžetą.

Skaičiuodami praėjusį laiką naudokite monotoninį laikrodį. Perduokite absoliutų terminą arba likusią trukmę per sluoksnius, kuriems priklauso darbas. Jei aplinkinis atšaukimo mechanizmas negali užtikrinti reikiamos apimties, tą apribojimą aiškiai nurodykite.

Įtraukite turinį ir valymą

Metodas, grįžtantis po antraščių, gali palikti turinio skaitymą už savo termino ribų. Nuspręskite, ar biudžetas apima užmezgimą, visą baigtinį atsisiuntimą, ar ilgalaikį srautą su atskiromis gyvybingumo taisyklėmis. Šiuolaikinis .NET pavyzdys, kaip atšaukti antraštes ir turinį, per abu etapus neša vieną žetoną.

Palikite laiko atsakymams uždaryti ir atšaukimui užbaigti, kol kitas bandymas neužima baseino talpos. Užfiksuokite nepavykusią fazę ir praėjusį laiką; pasikartojantys skaitymai su pažanga gali patenkinti neveiklumo ribas, nors visas darbas trunka per ilgai.

Tinklaus terminas į aukštesnį srautą priklauso tam tinklui. Kai jis grąžina 504, nepanaudotas kliento biudžetas negali pratęsti užbaigto bandymo. Laikykite kiekvieną laikmatį pririštą prie jo savininko, kai sprendžiate, kurią nuostatą reikia taisyti.

Susiję straipsniai