Tidsavbrot for inaktivitet hos proxyar under lange HTTP-jobbar
Vel polling eller eit definert strøymeformat når langt serverarbeid møter inaktivitetsgrensa til ein proxy, i staden for å setje inn vilkårlege byte i den endelege responsen.
Viss ei teneste er stille i minutt og ein proxy får tidsavbrot, vel kva klienten skal få før du legg til hjarteslagbyte. Å forlengje ein timer kan hjelpe éi venting; responskontrakten avgjer kva framdrift som er gyldig.
| Applikasjonsdesign | Framdriftskontrakt |
|---|---|
| Asynkron jobb | 202 Accepted med ein representasjon som skildrar overvaking, etterfølgd av endelege statusførespurnader og eksplisitte fullførings-/feiltilstandar |
| Server-Sent Events-straum | Content-Type: text/event-stream og postar som SSE-klienten forstår |
202 lovar ikkje at jobben lukkast. For SSE kan ein kommentarpost sjå slik ut:
: heartbeat
Kolonet gjer det til ein kommentar i staden for ei applikasjonshending. Forfattarnotata til HTML føreslår periodiske kommentarar omtrent kvart 15. sekund mot ein viss eldre proxy-inaktivitetsåtferd; det er rettleiing, ikkje ei universell tidsavbrotsgaranti.
Fullfør headarane og sikre at applikasjonen/tenestestakken frigjev postar i staden for å bufre dei lokalt. Byte som enno ikkje er sende, kan ikkje halde eit nedstraums mellomledd aktivt.
Set ikkje inn SSE-kommentarar i vanleg JSON eller binært innhald. Ein HTTP/1.1-chunk med null lengd avsluttar ein chunked kropp, så det er ikkje eit repeterbart tomt hjarteslag.
Hald på ein operasjonsfrist og ein avbrytingspolicy. Berre trafikkaktivitet viser ikkje nyttig jobbframdrift eller eit gyldig sluttresultat.