Els límits de connexió i de lectura limiten esperes concretes. No necessàriament limiten tota una operació a través de proxy, que també pot incloure cua, DNS, CONNECT, TLS, redireccions, reintents i consum de la resposta.

LímitAbast
Límit de connexióEstabliment de la connexió segons la definició del client
Límit d'inactivitat de lecturaUna espera sense el progrés de dades esperat
Termini totalDurada permesa de l'operació completa

Comenceu pel pressupost de l'operació

Feu servir el termini total documentat del client o el mecanisme de cancel·lació quan estigui disponible, juntament amb els límits de fase. HTTPX separa les esperes de pool, connexió, lectura i escriptura. Requests afirma que el seu límit no és un límit de descàrrega completa. curl ofereix un termini de transferència total.

Per exemple, una feina de vint segons passa dos segons en cua, tres establint la seva ruta i sis en un intercanvi fallit. El seu intent següent té aproximadament nou segons. Donar a cada reintent vint segons nous descartaria el pressupost original.

Utilitzeu un rellotge monòton per comptabilitzar el temps transcorregut. Transporteu un termini absolut o la durada restant per les capes que posseeixen la feina. Si el mecanisme de cancel·lació del voltant no pot imposar l'abast necessari, feu explícita aquesta limitació.

Incloeu el cos i la neteja

Un mètode que retorna després de les capçaleres pot deixar la lectura del cos fora del seu termini. Decidiu si el pressupost cobreix l'establiment, una descàrrega completa finita o un flux de llarga durada amb regles de vitalitat separades. Un exemple modern de .NET per cancel·lar capçaleres i cos porta un sol testimoni per les dues etapes.

Deixeu temps per tancar les respostes i completar la cancel·lació abans que un intent següent ocupi capacitat del pool. Registreu la fase fallida i el temps transcorregut; les lectures repetides que avancen poden satisfer els límits d'inactivitat mentre la feina total dura massa.

El termini del gateway cap a l'origen pertany a aquell gateway. Un cop retorna 504, el pressupost de client no utilitzat no pot allargar l'intent completat. Mantingueu cada temporitzador lligat al seu propietari quan decidiu quin paràmetre cal corregir.

Articles relacionats