Mga timeout ng yugto at ang kabuuang takda ng kahilingan sa proxy
Ihiwalay ang mga limitasyon sa bawat yugto mula sa kabuuang badyet ng oras ng operasyong dumadaan sa proxy, kabilang ang mga muling pagtatangka at pagbasa ng tugon.
Ang mga timeout ng koneksyon at pagbasa ay naglilimita sa ilang partikular na paghihintay. Hindi nila laging nililimitahan ang buong operasyong dumadaan sa proxy, na maaari ring magsama ng paghihintay sa pila, DNS, CONNECT, TLS, mga redirect, muling pagtatangka at pagbasa ng tugon.
| Limitasyon | Saklaw |
|---|---|
| Timeout ng koneksyon | Pagtatatag ng koneksyon ayon sa depinisyon ng kliyente |
| Timeout ng kawalan ng aktibidad sa pagbasa | Isang paghihintay na walang inaasahang pag-usad ng datos |
| Kabuuang takda | Pinapayagang tagal ng kumpletong operasyon |
Magsimula sa badyet ng operasyon
Gamitin ang nakadokumentong kabuuang takda ng kliyente o mekanismo ng pagkansela kapag mayroon, kasama ng mga limitasyon sa yugto. Hinihiwalay ng HTTPX ang mga paghihintay sa pool, koneksyon, pagbasa at pagsulat. Sinasabi ng Requests na ang timeout nito ay hindi limitasyon sa buong pag-download. Nagbibigay ang curl ng kabuuang takda sa paglilipat.
Halimbawa, ang trabahong dalawampung segundo ay gumugol ng dalawang segundo sa pila, tatlo sa pagtatatag ng ruta nito at anim sa isang bigong palitan. Ang susunod nitong pagtatangka ay may humigit-kumulang siyam na segundo. Ang pagbibigay ng bagong dalawampung segundo sa bawat muling pagtatangka ay magtatapon ng orihinal na badyet.
Gumamit ng monotonikong orasan sa pagtutuos ng lumipas na oras. Dalhin ang ganap na takda o natitirang tagal sa mga layer na may-ari ng trabaho. Kung hindi maipatupad ng nakapaligid na mekanismo ng pagkansela ang kinakailangang saklaw, gawing malinaw ang limitasyong iyon.
Isama ang katawan at paglilinis
Ang isang paraang bumabalik pagkatapos ng mga header ay maaaring mag-iwan ng pagbasa ng katawan sa labas ng takda nito. Magpasya kung ang badyet ay sumasaklaw sa pagtatatag, isang buong may hangganang pag-download, o isang pangmatagalang stream na may hiwalay na mga patakaran sa pagiging buhay. Ang modernong halimbawa sa .NET para sa pagkansela ng header at katawan ay nagdadala ng isang token sa dalawang yugto.
Maglaan ng oras upang isara ang mga tugon at tapusin ang pagkansela bago kumuha ng kapasidad ng pool ang susunod na pagtatangka. Itala ang bigong yugto at lumipas na oras; ang paulit-ulit na pagbasa na may pag-usad ay maaaring masiyahan ang mga limitasyon sa kawalan ng aktibidad habang ang kabuuang trabaho ay tumatagal nang labis.
Ang takda ng gateway pataas ay pag-aari ng gateway na iyon. Kapag nagbalik ito ng 504, hindi na mapapahaba ng hindi nagamit na badyet ng kliyente ang natapos na pagtatangka. Panatilihing nakakabit ang bawat timer sa may-ari nito kapag nagpapasya kung aling setting ang dapat itama.