Ak služba zostane minúty ticho a proxy vyprší časový limit, zvoľte, čo má klient dostať, predtým ako pridáte bajty srdcového tepu. Predĺženie časovača môže pomôcť jednému čakaniu; zmluva o odpovedi určuje, ktorý pokrok je platný.

Návrh aplikácieZmluva o pokroku
Asynchrónna úloha202 Accepted s reprezentáciou opisujúcou monitorovanie, po ktorej nasledujú konečné požiadavky na stav a explicitné stavy dokončenia/zlyhania
Prúd Server-Sent EventsContent-Type: text/event-stream a záznamy, ktorým klient SSE rozumie

202 nesľubuje, že úloha uspeje. Pri SSE môže záznam komentára vyzerať takto:

: heartbeat

Dvojbodka z neho robí komentár, nie udalosť aplikácie. Autorské poznámky HTML navrhujú pravidelné komentáre približne každých 15 sekúnd proti niektorému starému správaniu nečinnosti proxy; to je usmernenie, nie univerzálna záruka časového limitu.

Dokončite hlavičky a uistite sa, že aplikácia/serving stack uvoľňuje záznamy namiesto toho, aby ich lokálne ukladal do vyrovnávacej pamäte. Bajty, ktoré ešte neboli odoslané, nemôžu udržať naväzujúceho sprostredkovateľa aktívnym.

Nevkladajte komentáre SSE do bežného JSON alebo binárneho obsahu. HTTP/1.1 chunk s nulovou dĺžkou ukončuje chunked telo, takže to nie je opakovateľný prázdny srdcový tep.

Zachovajte termín operácie a politiku zrušenia. Samotná aktivita prevádzky neukazuje užitočný pokrok úlohy ani platný konečný výsledok.

Súvisiace články