দীর্ঘ HTTP কাজে প্রক্সির নিষ্ক্রিয় সময়সীমা
দীর্ঘ সার্ভার কাজ প্রক্সির নিষ্ক্রিয় সীমায় পৌঁছালে চূড়ান্ত প্রতিক্রিয়ায় ইচ্ছামতো বাইট ঢোকানোর বদলে পোলিং বা নির্দিষ্ট স্ট্রিমিং ফরম্যাট বেছে নিন।
যদি কোনো সেবা কয়েক মিনিট নীরব থাকে এবং প্রক্সির সময়সীমা শেষ হয়, হৃদস্পন্দন বাইট যোগ করার আগে ক্লায়েন্টের কী পাওয়া উচিত তা বেছে নিন। টাইমার বাড়ালে একটি অপেক্ষায় সাহায্য হতে পারে; প্রতিক্রিয়া চুক্তিই নির্ধারণ করে কোন অগ্রগতি বৈধ।
| অ্যাপ্লিকেশন নকশা | অগ্রগতির চুক্তি |
|---|---|
| অ্যাসিঙ্ক্রোনাস কাজ | মনিটরিং বর্ণনা করে এমন উপস্থাপনা সহ 202 Accepted, এরপর সীমিত স্ট্যাটাস অনুরোধ এবং স্পষ্ট সমাপ্তি/ব্যর্থতা অবস্থা |
| Server-Sent Events স্ট্রিম | Content-Type: text/event-stream এবং SSE ক্লায়েন্ট যে রেকর্ড বোঝে |
202 কাজটি সফল হবে বলে প্রতিশ্রুতি দেয় না। SSE-এর জন্য একটি মন্তব্য রেকর্ড এমন দেখতে পারে:
: heartbeat
কোলন এটিকে অ্যাপ্লিকেশন ইভেন্টের বদলে মন্তব্য করে। HTML-এর লেখার নোট কিছু পুরোনো প্রক্সি নিষ্ক্রিয় আচরণের বিরুদ্ধে প্রায় প্রতি 15 সেকেন্ডে পর্যায়ক্রমিক মন্তব্যের পরামর্শ দেয়; এটি নির্দেশনা, সর্বজনীন সময়সীমার নিশ্চয়তা নয়।
হেডার শেষ করুন এবং নিশ্চিত করুন যে অ্যাপ্লিকেশন/পরিষেবা স্ট্যাক রেকর্ড স্থানীয়ভাবে বাফার না করে ছেড়ে দেয়। এখনও না পাঠানো বাইট নিচের মধ্যস্থতাকারীকে সক্রিয় রাখতে পারে না।
সাধারণ JSON বা বাইনারি বিষয়বস্তুতে SSE মন্তব্য ঢোকাবেন না। HTTP/1.1-এর শূন্য-দৈর্ঘ্যের chunk একটি chunked বডি শেষ করে, তাই এটি পুনরাবৃত্তিযোগ্য খালি হৃদস্পন্দন নয়।
একটি অপারেশন সময়সীমা এবং বাতিলকরণ নীতি রাখুন। কেবল ট্র্যাফিক সক্রিয়তা উপযোগী কাজের অগ্রগতি বা বৈধ চূড়ান্ত ফলাফল দেখায় না।