פסקי זמן של חוסר פעילות בפרוקסי במהלך משימות HTTP ארוכות
בחרו תשאול או פורמט זרימה מוגדר כאשר עבודת שרת ארוכה נתקלת במגבלת חוסר הפעילות של פרוקסי, במקום להוסיף בתים שרירותיים לתגובה הסופית.
אם שירות נשאר שקט במשך דקות ופרוקסי מגיע לפסק זמן, בחרו מה הלקוח צריך לקבל לפני שמוסיפים בתי פעימה. הארכת טיימר יכולה לעזור להמתנה אחת; חוזה התגובה קובע איזו התקדמות תקפה.
| עיצוב היישום | חוזה התקדמות |
|---|---|
| משימה אסינכרונית | 202 Accepted עם ייצוג המתאר ניטור, ולאחריו בקשות סטטוס סופיות ומצבי השלמה/כשל מפורשים |
| זרם Server-Sent Events | Content-Type: text/event-stream ורשומות שהלקוח SSE מבין |
202 אינו מבטיח שהמשימה תצליח. עבור SSE, רשומת הערה יכולה להיראות כך:
: heartbeat
הנקודתיים הופכות אותה להערה ולא לאירוע יישום. הערות הכתיבה של HTML מציעות הערות תקופתיות בערך כל 15 שניות כנגד התנהגות חוסר פעילות מסוימת של פרוקסי ישן; זו הנחיה, לא הבטחת פסק זמן אוניברסלית.
סיימו את הכותרות וודאו שמערכת היישום/ההגשה משחררת רשומות במקום לאחסן אותן מקומית במאגר. בתים שטרם נשלחו אינם יכולים להחזיק מתווך במורד הזרם פעיל.
אל תכניסו הערות SSE לתוכן JSON או בינארי רגיל. נתח באורך אפס של HTTP/1.1 מסיים גוף chunked, ולכן אינו פעימת ריק ניתנת לחזרה.
שמרו על מועד אחרון לפעולה ומדיניות ביטול. פעילות תעבורה לבדה אינה מראה התקדמות משימה שימושית או תוצאה סופית תקפה.