Ja pakalpojums minūtēm klusē un starpniekserverim iestājas taimauts, izvēlieties, ko klientam jāsaņem pirms sirdsdarbības baitu pievienošanas. Taimera pagarināšana var palīdzēt vienai gaidīšanai; atbildes līgums nosaka, kāds progress ir derīgs.

Lietotnes dizainsProgresa līgums
Asinhronis uzdevums202 Accepted ar monitoring aprakstošu attēlojumu, kam seko ierobežoti statusa pieprasījumi un skaidri pabeigšanas/neveiksmes stāvokļi
Server-Sent Events straumeContent-Type: text/event-stream un ieraksti, ko saprot SSE klients

202 nesola, ka uzdevums izdosies. SSE gadījumā komentāra ieraksts var izskatīties šādi:

: heartbeat

Kols padara to par komentāru, nevis lietotnes notikumu. HTML autorēšanas piezīmes iesaka periodiskus komentārus aptuveni ik pēc 15 sekundēm pret kādu vecu starpniekservera dīkstāves uzvedību; tas ir norādījums, nevis universāla taimauta garantija.

Pabeidziet galvenes un nodrošiniet, ka lietotne/apkalpošanas steks atbrīvo ierakstus, nevis buferē tos lokāli. Vēl neizsūtīti baiti nevar uzturēt lejupstraumes starpnieku aktīvu.

Neievietojiet SSE komentārus parastā JSON vai binārā saturā. HTTP/1.1 nulles garuma chunk pabeidz chunked ķermeni, tāpēc tas nav atkārtojams tukšs sirdsdarbības signāls.

Saglabājiet operācijas termiņu un atcelšanas politiku. Tikai trafika aktivitāte neparāda lietderīgu uzdevuma progresu vai derīgu gala rezultātu.

Saistītie raksti