मुख्य सामग्री पर जाएँ

सुगम शटडाउन

Glasswall Halo, शटडाउन प्रक्रिया के दौरान नई रिक्वेस्ट्स को अस्वीकार करते हुए सेवाओं को प्रगति में चल रही रिक्वेस्ट्स पूरी करने की अनुमति देने के लिए graceful shutdown लागू करता है.

यह सुनिश्चित करता है कि लंबित कार्य सही तरीके से संभाला जाए और डेटा हानि या आंशिक रूप से प्रोसेस की गई रिक्वेस्ट्स के जोखिम को कम करता है.

सिंक्रोनस API और एसिंक्रोनस API

Glasswall Halo APIs ASP.NET Core graceful shutdown mechanism का उपयोग करती हैं। अधिक जानकारी Kestrel shutdown timeout के लिए Microsoft documentation में उपलब्ध है।

डिफ़ॉल्ट रूप से, shutdown timeout 60 seconds पर सेट होता है। यह मान निर्धारित करता है कि shutdown शुरू होने के बाद open connections को बलपूर्वक बंद करने से पहले server कितनी देर प्रतीक्षा करेगा।

इस अवधि के दौरान:

  • Kestrel active request processing के पूरा होने की प्रतीक्षा करता है।
  • कोई नई connections या requests स्वीकार नहीं की जाती हैं।

यह संभव है कि shutdown timeout समाप्त होने के बाद भी कुछ background tasks चलती रहें। इस व्यवहार का वर्णन hosted services stop handling के लिए Microsoft documentation में किया गया है।

Cancellation का अनुरोध किए जाने के बाद भी, tasks को छोड़ा नहीं जाता। अंतिम termination से पहले host सभी tasks के पूरा होने की प्रतीक्षा करता है।

Report aggregator और Engine सेवाएँ

Report Aggregator और Engine सेवाएँ hosted services के रूप में implement की गई हैं, जिससे service startup और shutdown के दौरान custom logic को execute किया जा सकता है।

अधिक विवरण IHostedService के लिए Microsoft documentation में उपलब्ध हैं।

जब shutdown शुरू होता है:

  • दोनों सेवाएँ in-flight requests को पूरा होने देती हैं।
  • 5 seconds का एक डिफ़ॉल्ट shutdown timeout लागू किया जाता है।
  • यदि timeout पार हो जाता है, तो service को बलपूर्वक terminate कर दिया जाता है।

यह डिज़ाइन reliability और shutdown speed के बीच संतुलन बनाए रखते हुए पूर्वानुमेय shutdown behaviour सुनिश्चित करता है।