जब वेबबॉज को क्यूयू ट्रिगर के माध्यम से एज़ूर स्टोरेज पर कतार से संदेश मिलता है, तो यह संदेश पट्टे पर देता है (इसे अदृश्य बनाता है)। यदि ट्रिगरिंग फ़ंक्शन (वेबोज़ का) संदेश को संसाधित करने में लंबा समय लगता है, तो क्या यह पट्टा स्वचालित रूप से बढ़ाया जाता है? या मैं इसे समारोह में संभाल लेना चाहिए?क्या वेबजोज़ स्वचालित रूप से Azure Queue संदेशों पर पट्टे को नवीनीकृत करते हैं?
इस लिंक Windows Azure Queues: Improved Leases, Progress Tracking, and Scheduling of Future Work पर, लेखक कहता है कि "संदेश पर एक पट्टा कार्यकर्ता है कि मूल विपंक्ति किया द्वारा बढ़ाया जा सकता है ताकि यह संदेश प्रोसेस जारी रख सकते हैं"
नोट: मैंने एक वेबबॉज (एक QueueTrigger के साथ) की कोशिश की जो 20 मिनट के लिए इंतजार कर रहा है।
//Write Log
Thread.Sleep(1200000);
//Write Log
यह सफलतापूर्वक पूरा हो गया है। और इस समय के दौरान कोई अन्य वेबबॉज उदाहरण एक ही कतार आइटम (यह दिखाई नहीं दे रहा था) के लिए प्रयास करने का प्रयास करें। इसलिए ऐसा लगता है कि पट्टे के लिए एक ऑटो-नवीनीकरण तंत्र मौजूद है। किसी भी तरह से मैं एक Microsoft कर्मचारी या एक आधिकारिक लिंक (एमएसडीएन, एज़ूर, ...) के साथ एक जवाब का इंतजार कर रहा हूँ।
उस प्रश्न में उत्तर में से एक मेरा है। जिसका अर्थ है कि मैंने उस सवाल और स्पष्ट रूप से अन्य जवाब देखा। और मैंने दिए गए लिंक को भी पढ़ा और उस उदाहरण को बहुत पहले किया। मुझे सुझाव दिया गया है कि "आपका पट्टा स्वचालित रूप से बढ़ाया गया है। यह हर बार 10 मिनट है" में कुछ भी नहीं मिला। शायद मुझे कुछ याद आती है। क्या आप इस पैराग्राफ को निर्दिष्ट कर सकते हैं जिसे आप इस परिणाम को समाप्त करते हैं? –
@NuriTasdemir मुझे खेद है, मैंने पोस्टर के नामों को नहीं देखा। आप सही हैं, लेख में समय के विस्तार का उल्लेख नहीं है और यह कितना समय है। इसलिए, मैंने गिटहब पर स्रोत कोड देखा (https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft.Azure.WebJobs.Host/Queues/Listeners/QueueListener.cs)। 10 मिनट की खिड़की लाइन 138 पर हार्ड-कोड की गई है। उस मान को फिर कुछ विधि कॉल के साथ पास किया जाता है और फिर टाइमर में लाइन 250 पर फिर से उपयोग किया जाता है जो दृश्यता टाइमआउट को रीसेट करने के लिए संदेश अपडेट करेगा। – SvenAelterman
@NuriTasdemir यह थोड़ा जटिल है क्योंकि यह दृश्यता टाइमआउट को आधे रास्ते से रीसेट करना शुरू कर देगा। इसलिए, प्रसंस्करण समय के पहले 5 मिनट के बाद, यह इसे 10 मिनट तक बढ़ाएगा, आदि। 'LineQSpeueMessageVisibilityCommand' का उपयोग' LinearSpeedupStrategy' आदि के माध्यम से किया जाता है लेकिन नीचे की रेखा यह है कि समय आपके वेबजोब की ओर से 10 के लिए बढ़ाया गया है हर बार मिनट। – SvenAelterman