मैं एक अजीब समस्या का सामना कर रहा हूँ। मेरे पास क्लाउड सेवा ए है जो पढ़ने के लिए किसी अन्य क्लाउड सेवा बी के लिए एक सेवा बस कतार में संदेश डालती है। क्लाउड सर्विस बी को यह करने के लिए लगभग एक सेकंड लग सकता है कि उसे क्या करना है, फिर यह क्लाउड सेवा ए के लिए एक कतार में एक संदेश वापस रखता है। जब क्लाउड सर्विस बी ऐसा करता है तो यह लगभग 1 - 10 सेकंड की देरी डालने के लिए अनुसूचितEnqueueTimeUtc का उपयोग करता है संदेश परAzure सेवा बस कतार ScheduledEnqueueTimeUtc विलंबित
पिछले शुक्रवार नीला आउटेज पूरी तरह से इस आवेदन नीचे लाया। जब मैं इसे ऑनलाइन वापस लाया, ScheduledEnqueueTimeUtc हमेशा कम से कम 10 सेकंड की देरी कर रहा है। उदाहरण के लिए, मैं एक डेटाटाइम उत्पन्न करता हूं जो भविष्य में 1 से 10 सेकंड के बीच होता है। मैंने इसे शेड्यूल किए गए एन्केयूटाइमयूटीसी के रूप में सेट किया है और मैंने उस संदेश को उस संदेश पर एक संपत्ति के रूप में भी रखा है जिसे मैं भेज रहा हूं, मैं क्लाउड सेवा ए में वापस प्राप्त करते समय उस डेटाटाइम प्रॉपर्टी को एनक्यूडटाइम यूटीसी संपत्ति की तुलना करता हूं। ये 2 बार सुंदर होना चाहिए एक साथ बंद करो, और यही वह तरीका है जो पिछले शुक्रवार तक महीनों तक काम कर रहा है।
तो अब बादल सेवा बी यह 1 सेकंड में कतार में इस संदेश को डाल कह रहा है। क्लाउड सर्विस ए का कहना है कि यह 12-14 सेकंड के लिए कतार में नहीं आया था। संदेश कतार में डालते समय मैं एसिंक विधियों का उपयोग कर रहा हूं। यदि मैं ScheduledEnqueueTimeUtc का उपयोग नहीं करता हूं, तो कोई देरी नहीं होती है, जब मैं उन्हें क्लाउड सेवा ए में वापस देखता हूं तो समय काफी करीब मिल जाता है। लेकिन अगर मैं भविष्य में अनुसूचित एन्क्वेयूटाइमयूटीसी को 1 सेकंड भी सेट करता हूं तो ऐसा लगता है कि 12 के लिए कतार में दिखाई नहीं दे रहा है -14 सेकंड्स
मैं अब quartz.net का उपयोग कर संदेशों का समय निर्धारित करने की बजाय ScheduledEnqueueTimeUtc संपत्ति की स्थापना द्वारा इस के आसपास काम कर रहा हूँ। लेकिन यह वास्तव में अजीब लगता है कि यह शुरू हो रहा है।
धन्यवाद, मैंने इसे दस्तावेज़ में पढ़ा था। लेकिन मुझे लगता है कि यह उतना स्पष्ट नहीं था जितना आप कह रहे हैं और तथ्य यह है कि यह अभी शुरू हो रहा है मुझे फेंक दिया। मुझे लगता है कि मैं इसे जल्द या बाद में भाग गया होता। मुझे इस एप्लिकेशन में जितना संभव हो उतना सटीक होने की आवश्यकता है, इसलिए ऐसा लगता है कि अनुसूचितEnqueueTimeUtc बाहर है। धन्यवाद! –
'वह संपत्ति संदेश को तत्काल वितरित नहीं करती है' इसका क्या अर्थ है? क्या संदेश Azure को भेजा जाएगा, लेकिन उस समय तक कतार में नहीं जोड़ा गया है जब तक कि वह समय तक नहीं पहुंच जाता है या क्या वह उस समय क्लाइंट एप्लिकेशन में इंतजार करता है जो उस समय भेज देगा? –