Pokud služba zůstane minuty tichá a proxy vyprší časový limit, zvolte, co má klient obdržet, než přidáte bajty srdečního tepu. Prodloužení časovače může pomoci jednomu čekání; smlouva o odpovědi určuje, který pokrok je platný.

Návrh aplikaceSmlouva o pokroku
Asynchronní úloha202 Accepted s reprezentací popisující monitorování, následovanou konečnými požadavky na stav a explicitními stavy dokončení/selhání
Proud Server-Sent EventsContent-Type: text/event-stream a záznamy, kterým klient SSE rozumí

202 neslibuje, že úloha uspěje. Pro SSE může záznam komentáře vypadat takto:

: heartbeat

Dvojtečka z něj dělá komentář, nikoli událost aplikace. Autorské poznámky HTML doporučují periodické komentáře zhruba každých 15 sekund proti některému starému chování nečinnosti proxy; to je vodítko, nikoli univerzální záruka časového limitu.

Dokončete hlavičky a zajistěte, aby aplikace/serving stack uvolňoval záznamy, místo aby je ukládal lokálně do vyrovnávací paměti. Bajty, které ještě nebyly odeslány, nemohou udržet navazující prostředníka aktivním.

Nevkládejte komentáře SSE do běžného JSON nebo binárního obsahu. Chunk nulové délky HTTP/1.1 ukončuje chunked tělo, takže to není opakovatelný prázdný srdeční tep.

Zachovejte termín operace a politiku zrušení. Samotná aktivita provozu neukazuje užitečný pokrok úlohy ani platný konečný výsledek.

Související články