Jei paslauga tyli minutes ir tarpiniam serveriui baigiasi laikas, pasirinkite, ką klientas turi gauti prieš pridedant širdies plakimo baitus. Laikmačio pratęsimas gali padėti vienam laukimui; atsakymo sutartis nustato, kokia pažanga galioja.

Programos dizainasPažangos sutartis
Asinchroninė užduotis202 Accepted su monitoravimą aprašančiu vaizdavimu, po to baigtiniai būsenos užklausimai ir aiškios užbaigimo/nepavykimo būsenos
Server-Sent Events srautasContent-Type: text/event-stream ir įrašai, kuriuos supranta SSE klientas

202 nežada, kad užduotis pavyks. SSE atveju komentaro įrašas gali atrodyti taip:

: heartbeat

Dvitaškis padaro jį komentaru, o ne programos įvykiu. HTML autorystės pastabos siūlo periodinius komentarus maždaug kas 15 sekundžių prieš tam tikrą seną tarpinių serverių neveiklumo elgesį; tai gairės, o ne universali skirtinio laiko garantija.

Užbaikite antraštes ir užtikrinkite, kad programa/aptarnavimo rietuvė išleistų įrašus, o ne buferiuotų juos vietoje. Dar neišsiųsti baitai negali išlaikyti pasroviui esančio tarpininko aktyvaus.

Neįterpkite SSE komentarų į įprastą JSON ar dvejetainį turinį. HTTP/1.1 nulinio ilgio chunk baigia chunked kūną, todėl tai nėra kartojamas tuščias širdies plakimas.

Išsaugokite operacijos terminą ir atšaukimo politiką. Vien tik srauto aktyvumas neparodo naudingos užduoties pažangos ar galiojančio galutinio rezultato.

Susiję straipsniai