Fasetidsgrænser og den samlede proxyanmodningsfrist
Adskil grænser pr. fase fra den samlede tidsbudget for en proxyoperation, inklusive genforsøg og læsning af svaret.
Tidsgrænser for forbindelse og læsning begrænser bestemte ventetider. De begrænser ikke nødvendigvis en hel proxyoperation, som også kan omfatte kø, DNS, CONNECT, TLS, omdirigeringer, genforsøg og læsning af svaret.
| Grænse | Omfang |
|---|---|
| Tidsgrænse for forbindelse | Etablering af forbindelse efter klientens definition |
| Tidsgrænse for læseinaktivitet | En ventetid uden den forventede dataprogression |
| Samlet frist | Den tilladte varighed for den fuldstændige operation |
Begynd med operationens budget
Brug klientens dokumenterede samlede frist eller annulleringsmekanisme, hvor den findes, sammen med fasegrænser. HTTPX adskiller ventetider for pulje, forbindelse, læsning og skrivning. Requests angiver, at dens tidsgrænse ikke er en grænse for en fuld download. curl tilbyder en samlet overførselsfrist.
For eksempel bruger et job på tyve sekunder to sekunder i kø, tre på at etablere sin rute og seks på en mislykket udveksling. Dets næste forsøg har cirka ni sekunder tilbage. At give hvert genforsøg friske tyve sekunder ville kassere det oprindelige budget.
Brug et monotont ur til at bogføre forløbet tid. Før en absolut frist eller resterende varighed gennem de lag, der ejer arbejdet. Hvis en omgivende annulleringsmekanisme ikke kan håndhæve det krævede omfang, skal du gøre den begrænsning eksplicit.
Medtag kroppen og oprydningen
En metode, der vender tilbage efter headere, kan efterlade læsning af kroppen uden for sin frist. Beslut, om budgettet dækker etablering, en hel endelig download eller en langvarig strøm med særskilte liveness-regler. Et moderne .NET-eksempel på annullering af headere og krop bærer ét token gennem begge faser.
Levér tid til at lukke svar og fuldføre annullering, før et næste forsøg tager puljekapacitet. Registrér den mislykkede fase og forløbet tid; gentagne læsninger med fremgang kan opfylde inaktivitetsgrænser, mens det samlede job varer for længe.
En gateways opstrømsfrist tilhører den gateway. Når den returnerer 504, kan ubrugt klientbudget ikke forlænge det afsluttede forsøg. Hold hver timer knyttet til sin ejer, når du beslutter, hvilken indstilling der skal rettes.