Proxyers inaktivitets-timeout under lange HTTP-jobber
Velg polling eller et definert strømmeformat når langt serverarbeid møter en proxys inaktivitetsgrense, i stedet for å sette inn vilkårlige byte i den endelige responsen.
Hvis en tjeneste er stille i minutter og en proxy får timeout, velg hva klienten skal motta før du legger til hjerteslagsbyte. Å forlenge en timer kan hjelpe én venting; responskontrakten avgjør hvilken fremdrift som er gyldig.
| Applikasjonsdesign | Fremdriftskontrakt |
|---|---|
| Asynkron jobb | 202 Accepted med en representasjon som beskriver overvåking, etterfulgt av endelige statusforespørsler og eksplisitte fullførings-/feiltilstander |
| Server-Sent Events-strøm | Content-Type: text/event-stream og poster som SSE-klienten forstår |
202 lover ikke at jobben lykkes. For SSE kan en kommentarpost se slik ut:
: heartbeat
Kolonet gjør det til en kommentar i stedet for en applikasjonshendelse. HTMLs forfatternotater foreslår periodiske kommentarer omtrent hvert 15. sekund mot en viss eldre proxy-inaktivitetsatferd; det er veiledning, ikke en universell timeoutgaranti.
Fullfør headerne og sørg for at applikasjonen/tjenerstakken frigjør poster i stedet for å bufre dem lokalt. Byte som ennå ikke er sendt, kan ikke holde en nedstrøms mellomledd aktiv.
Ikke sett inn SSE-kommentarer i vanlig JSON eller binært innhold. En HTTP/1.1-chunk med null lengde avslutter en chunked body, så det er ikke en repeterbar tom hjerteslag.
Behold en operasjonsfrist og en avbestillingspolicy. Bare trafikkaktivitet viser ikke nyttig jobbfremdrift eller et gyldig sluttresultat.