Jos palvelu on hiljaa minuutteja ja välityspalvelin aikakatkaisee, valitse, mitä asiakkaan pitäisi vastaanottaa ennen sydämenlyöntitavujen lisäämistä. Ajastimen pidentäminen voi auttaa yhtä odotusta; vastaussopimus määrää, mikä edistyminen on kelvollista.

SovellussuunnitteluEdistymissopimus
Asynkroninen työ202 Accepted ja esitys, joka kuvaa seurantaa, jota seuraavat äärelliset tilapyynnöt ja selkeät valmistumis-/epäonnistumistilat
Server-Sent Events -virtaContent-Type: text/event-stream ja tietueet, jotka SSE-asiakas ymmärtää

202 ei lupaa, että työ onnistuu. SSE:ssä kommenttitietue voi näyttää tältä:

: heartbeat

Kaksoispiste tekee siitä kommentin eikä sovellustapahtumaa. HTML:n kirjoitusohjeet ehdottavat säännöllisiä kommentteja noin 15 sekunnin välein joitakin vanhoja välityspalvelimen joutokäyntikäyttäytymisiä vastaan; se on ohje, ei yleinen aikakatkaisutakuu.

Viimeistele otsakkeet ja varmista, että sovellus/palvelupino vapauttaa tietueet sen sijaan että puskuroi ne paikallisesti. Vielä lähettämättömät tavut eivät voi pitää alavirran välittäjää aktiivisena.

Älä lisää SSE-kommentteja tavalliseen JSON- tai binaarisisältöön. HTTP/1.1:n nollapituinen chunk päättää chunked-rungon, joten se ei ole toistettava tyhjä sydämenlyönti.

Säilytä toiminnon määräaika ja peruutuskäytäntö. Pelkkä liikenneaktiivisuus ei näytä hyödyllistä työn edistymistä tai kelvollista lopputulosta.

Aiheeseen liittyvät artikkelit