मैं हाल ही में एक बग जहां एक पूरे Erlang आवेदन की मृत्यु हो गई में भाग गया, कि इस तरह देखा एक लॉग संदेश उपज:स्वचालित रूप से पुन: प्रारंभ Erlang अनुप्रयोगों
=INFO REPORT==== 11-Jun-2010::11:07:25 ===
application: myapp
exited: shutdown
type: temporary
मुझे नहीं पता कि क्या यह बंद शुरू हो रहा है, लेकिन वास्तविक समस्या मेरे पास है है कि यह खुद को पुनरारंभ नहीं किया है। इसके बजाए, अब खाली खाली एरलांग वीएम बस कुछ भी नहीं कर रहा था।
अब, अनुसंधान मेरे द्वारा की गई से, यह अन्य की तरह देखते हैं "शुरू प्रकार" आप एक आवेदन दे सकते हैं लग रहा है: 'क्षणिक' और 'स्थायी'।
यदि मैं किसी एप्लिकेशन के भीतर एक पर्यवेक्षक शुरू, मैं एक विशेष प्रक्रिया क्षणिक या स्थायी बनाने के लिए यह बता सकते हैं, और यह अपने आप मेरे लिए पुनः आरंभ करेगा। हालांकि, दस्तावेज़ के अनुसार, अगर मैं एक आवेदन क्षणिक या स्थायी बनाने के लिए, यह उसे पुन: प्रारंभ नहीं होता है जब यह मर जाता है, बल्कि यह रूप में अच्छी तरह अन्य सभी अनुप्रयोगों को मारता है।
क्या मैं सच में करना चाहते हैं Erlang वीएम बताते हैं कि एक विशेष हमेशा चलते रहने होना चाहिए किसी भी तरह है, और अगर यह नीचे चला जाता है, उसे पुन: प्रारंभ। क्या ऐसा करना संभव है?
(मैं अपने आवेदन के शीर्ष पर पर्यवेक्षक को लागू करने के बारे में बात नहीं कर रहा हूं, क्योंकि तब यह एक पकड़ 22 है: अगर मेरा पर्यवेक्षक प्रक्रिया दुर्घटनाग्रस्त हो जाए तो क्या होगा? मैं किसी प्रकार की एपीआई या सेटिंग की तलाश कर रहा हूं जिसका उपयोग मैं कर सकता हूं Erlang मॉनिटर है और मेरे लिए मेरे आवेदन को पुनरारंभ करें।)
धन्यवाद!
ग्रेट, आपके उत्तर के लिए बहुत बहुत धन्यवाद। अब मैं देखता हूं कि मरने का कारण वास्तव में था क्योंकि अधिकतम पुनरारंभ सीमा हिट हुई थी। मैं जरूरी नहीं कि केवल इसे निष्क्रिय करना चाहता हूं, क्योंकि अगर यह वास्तव में रीस्टार्ट लूप में आता है तो हमें पूरे ऐप को पुनरारंभ करने की आवश्यकता हो सकती है। ऐप को बंद करने के बजाय, AllowedRestarts/MaxSeconds सीमा हिट होने पर ऐप को पुनरारंभ करने का कोई तरीका है? – Nick
यदि आप वर्णन करते हैं कि आप अपने पर्यवेक्षक को पर्यवेक्षक जोड़ देंगे। ओटीपी का उपयोग करने वाला व्यवहार यह है कि जब प्रक्रिया में एक एक्जिट सिग्नल भेजा जाता है जो एप्लिकेशन को प्रारंभ कॉल करता है (यानी।जब शीर्ष स्तर पर्यवेक्षक मर जाता है) यह मानता है कि एप्लिकेशन त्रुटि को ठीक करने में विफल रहा है और यह कॉन्फ़िगरेशन के आधार पर एप्लिकेशन को बंद कर देगा और नोड संभव होगा। मुझे लगता है कि बिंदु यह है कि आपके अनुप्रयोगों को क्रैश नहीं करना चाहिए, और अगर वे त्रुटि करते हैं तो केवल नोड पुनरारंभ करने के लिए पर्याप्त गंभीर है। – Lukas
लिंक 404 है - किसी के पास अपडेट है ....? – jisaacstone