Als een dienst minutenlang stil blijft en een proxy een time-out krijgt, kies dan wat de client moet ontvangen voordat je heartbeat-bytes toevoegt. Een timer verlengen kan één wachttijd helpen; het antwoordcontract bepaalt welke voortgang geldig is.

ApplicatieontwerpVoortgangscontract
Asynchrone taak202 Accepted met een representatie die monitoring beschrijft, gevolgd door eindige statusverzoeken en expliciete voltooiings-/foutstatussen
Server-Sent Events-streamContent-Type: text/event-stream en records die de SSE-client begrijpt

202 belooft niet dat de taak slaagt. Voor SSE kan een commentaarrecord er zo uitzien:

: heartbeat

De dubbele punt maakt er een commentaar van in plaats van een applicatiegebeurtenis. De auteursnotities van HTML suggereren periodieke commentaren ongeveer elke 15 seconden tegen bepaald oud inactief gedrag van proxy's; dat is richtlijn, geen universele time-outgarantie.

Rond de headers af en zorg ervoor dat de applicatie/serving-stack records vrijgeeft in plaats van ze lokaal te bufferen. Bytes die nog niet zijn verzonden, kunnen een stroomafwaartse tussenpartij niet actief houden.

Voeg geen SSE-commentaren toe aan gewone JSON- of binaire inhoud. Een HTTP/1.1-chunk met lengte nul beëindigt een chunked body, dus het is geen herhaalbaar leeg hartslag.

Behoud een operationele deadline en een annuleringsbeleid. Alleen verkeersactiviteit toont geen nuttige taakvoortgang of een geldig eindresultaat.

Gerelateerde artikelen