2011-07-11 13 views
5

क्या विंडोज़ एज़ूर ऑपरेटिंग सिस्टम समय-समय पर स्वचालित रूप से चल रहे कार्यकर्ता की भूमिका को पुनरारंभ या रीसेट कर रहा है? या क्या मैं इस तथ्य पर भरोसा कर सकता हूं कि अगर मेरे पास रन() विधि में लूप है तो मेरी वर्कर भूमिका असीम रूप से चल रही है?Azure Workerrole जीवन चक्र

उत्तर

3

भूमिका उदाहरण (चाहे वर्कर या वेब) मासिक रूप से कम से कम एक बार पुनर्नवीनीकरण किया जाता है, क्योंकि अतिथि ओएस मासिक आधार पर अपडेट किया जाता है। होस्ट ओएस को त्रैमासिक आधार पर रीफ्रेश किया जाता है, संभावित रूप से अतिरिक्त भूमिका पुनरावृत्तियों में परिणामस्वरूप (मेजबान और अतिथि अपडेट अलग-अलग किए जाते हैं)।

यह कहकर कि: आप अतिथि अतिथि संस्करण को निर्दिष्ट करके नवीनतम अतिथि ओएस में स्वत: अपडेट नहीं करना चुन सकते हैं। आप होस्ट ओएस अपडेट से ऑप्ट आउट नहीं कर सकते हैं।

सामान्य रूप से, आपको एक भूमिका उदाहरण पर असीम रूप से चलने पर भरोसा करना चाहिए। आपको लगता है कि आपके भविष्य में रीबूट होगा। होस्ट ओएस अपडेट के अलावा, हार्डवेयर विफलताएं हैं जो हो सकती हैं और हो सकती हैं।

अतिथि ओएस अपडेट के बारे में अधिक जानकारी के लिए here और होस्ट ओएस अपडेट के लिए here देखें।

1

किसी भी घटना में आप लगातार चल रहे मेजबान मशीन पर भरोसा नहीं कर सकते - इसे कभी-कभी अपडेट के लिए रोक दिया जाएगा और यह किसी भी कारण से क्रैश हो सकता है। तो आपका कोड अवगत होना चाहिए और समय-समय पर चेकपॉइंट सेट करना चाहिए और फिर से शुरू करने में सक्षम होना चाहिए।

तो हाँ, आपके पास while(true) doStuff() लूप हो सकता है, लेकिन आपको अपना कोड डिज़ाइन करना होगा ताकि ग्लोबल स्टोरेज को प्रभावित करने वाले उसके ऑपरेशंस - एसक्यूएल एज़ूर, ब्लॉब्स, कतार और टेबल - हर समय लगातार स्थिति में स्टोरेज छोड़ दें। इस तरह आपके लूप को बाधित किया जाना चाहिए (एक क्रैश द्वारा या थ्रेड को निरस्त करने के लिए अपवाद के द्वारा) आपका कोड फिर से शुरू होने के बाद फिर से शुरू हो सकता है।

संबंधित मुद्दे