Prazos por fase e prazo total da solicitude de proxy
Separe os límites por fase do orzamento total de tempo dunha operación a través de proxy, incluídos os reintentos e o consumo da resposta.
Os prazos de conexión e lectura limitan esperas concretas. Non limitan necesariamente toda unha operación a través de proxy, que tamén pode incluír espera en cola, DNS, CONNECT, TLS, redireccións, reintentos e consumo da resposta.
| Límite | Alcance |
|---|---|
| Prazo de conexión | Establecemento da conexión segundo a definición do cliente |
| Prazo de inactividade de lectura | Unha espera sen o progreso de datos agardado |
| Prazo total | Duración permitida da operación completa |
Comece polo orzamento da operación
Use o prazo total documentado do cliente ou o seu mecanismo de cancelación cando exista, xunto cos límites de fase. HTTPX separa as esperas de pozo, conexión, lectura e escritura. Requests indica que o seu prazo non é un límite de descarga completa. curl ofrece un prazo de transferencia total.
Por exemplo, unha tarefa de vinte segundos pasa dous segundos en cola, tres establecendo a súa ruta e seis nun intercambio infrutuoso. Ao seu seguinte intento quedan uns nove segundos. Darlle a cada reintento vinte segundos novos desbotaría o orzamento orixinal.
Empregue un reloxo monotónico para contabilizar o tempo transcorrido. Leve un prazo absoluto ou a duración restante polas capas que posúen o traballo. Se o mecanismo de cancelación circundante non pode impoñer o alcance requirido, faga explícita esa limitación.
Inclúa o corpo e a limpeza
Un método que retorna despois das cabeceiras pode deixar a lectura do corpo fóra do seu prazo. Decida se o orzamento cobre o establecemento, unha descarga completa finita ou un fluxo de longa duración con regras de vitalidade separadas. Un exemplo moderno en .NET para cancelar cabeceiras e corpo leva un só token polas dúas etapas.
Deixe tempo para pechar as respostas e completar a cancelación antes de que un intento seguinte ocupe capacidade do pozo. Rexistre a fase fallida e o tempo transcorrido; as lecturas repetidas que avanzan poden satisfacer os límites de inactividade mentres a tarefa total dura demasiado.
O prazo da pasarela cara á orixe pertence a esa pasarela. Unha vez que devolve 504, o orzamento de cliente non usado non pode estender o intento completado. Manteña cada temporizador ligado ao seu propietario ao decidir que parámetro hai que corrixir.