Kui teenus vaikib minuteid ja puhverserver aegub, valige, mida klient peaks saama enne südamelöögi baitide lisamist. Taimeri pikendamine võib ühte ootust aidata; vastuse leping määrab, milline edenemine on kehtiv.

Rakenduse disainEdenemise leping
Asünkroonne töö202 Accepted koos jälgimist kirjeldava esitusega, millele järgnevad lõplikud olekupäringud ja selgesõnalised lõpetamise/ebaõnnestumise olekud
Server-Sent Events voogContent-Type: text/event-stream ja kirjed, millest SSE klient aru saab

202 ei taga, et töö õnnestub. SSE puhul võib kommentaarkirje välja näha nii:

: heartbeat

Koolon teeb sellest kommentaari, mitte rakenduse sündmuse. HTML-i autorlusmärkmed soovitavad perioodilisi kommentaare umbes iga 15 sekundi järel teatud vana puhverserveri tühikäigu käitumise vastu; see on juhis, mitte universaalne aegumisgarantii.

Lõpetage päised ja veenduge, et rakendus/teeninduskiht vabastab kirjed, selle asemel et neid kohapeal puhverdada. Veel saatmata baidid ei saa allavoolu vahendajat aktiivsena hoida.

Ärge sisestage SSE-kommentaare tavalise JSON-i ega binaarse sisu sisse. HTTP/1.1 nullpikkusega chunk lõpetab chunked-keha, seega pole see korratav tühi südamelöök.

Hoidke töö tähtaeg ja tühistamispoliitika. Ainult liiklusaktiivsus ei näita kasulikku töö edenemist ega kehtivat lõpptulemust.

Seotud artiklid