मैं भूगर्भ का उपयोग कर एक आवेदन बना रहा हूं। मेरा ऐप अब बड़ा हो रहा है क्योंकि बहुत सी नौकरियां पैदा हो रही हैं और नष्ट हो गई हैं। अब मैंने देखा है कि जब इनमें से एक नौकरियां मेरे पूरे एप्लिकेशन को दुर्घटनाग्रस्त कर देती हैं तो बस चलती रहती है (यदि अपवाद एक गैर मुख्य ग्रीनलेट से आया है) जो ठीक है। लेकिन समस्या यह है कि मुझे त्रुटि देखने के लिए अपने कंसोल को देखना होगा। तो मेरे आवेदन का कुछ हिस्सा "मर" सकता है और मुझे इसके बारे में तुरंत पता नहीं है और ऐप चल रहा है।नौकरियों में गीता अपवादों की निगरानी
कोशिश करने के सामान के साथ अपने ऐप को झटकेदार एक साफ समाधान प्रतीत नहीं होता है। शायद एक कस्टम स्पॉन फ़ंक्शन जो कुछ त्रुटि रिपोर्टिंग करता है?
भूगर्भ नौकरियों/ग्रीनलेट्स की निगरानी करने का उचित तरीका क्या है? अपवाद पकड़ो?
मेरे मामले में मैं कुछ अलग स्रोतों की घटनाओं को सुनता हूं और मुझे प्रत्येक अलग से निपटना चाहिए। 5 नौकरियां बेहद महत्वपूर्ण हैं। वेबसर्वर ग्रीनलेट, वेबसाकेट ग्रीनलेट, डेटाबेस ग्रीनलेट, अलार्म ग्रीनलेट, और जेएमक्यू ग्रीनलेट। यदि उनमें से कोई भी 'मर जाता है' तो मेरा आवेदन पूरी तरह से मरना चाहिए। मरने वाली अन्य नौकरियां महत्वपूर्ण नहीं हैं। उदाहरण के लिए, यह संभव है कि वेबस्केट ग्रीनलेट कुछ अपवाद के कारण मर जाता है और बाकी के अनुप्रयोग ठीक चलते रहते हैं जैसे कुछ नहीं हुआ। यह अब पूरी तरह से बेकार और खतरनाक है और इसे कड़ी मेहनत करनी चाहिए।
मैंने मिशन को महत्वपूर्ण ग्रीनलेट बहुत छोटे बना दिया है। (कोड की 8 पंक्तियां) और वे अपनी बारी पर ग्रीनलेट्स को जन्म देते हैं जिसके लिए यह दुर्घटनाग्रस्त हो जाता है। – Stephan