मैं अपने होमग्राउन कार्य कतार प्रणाली को एक सेलेरी-आधारित कार्य कतार में परिवर्तित करना चाहता हूं, लेकिन वर्तमान में एक सुविधा में मुझे कुछ परेशानी हो रही है।सेलरी कार्यों की एक श्रृंखला के निष्पादन के दौरान उत्पन्न किए गए सभी पायथन लॉग रिकॉर्ड कैप्चर कैसे कर सकते हैं?
अभी, मेरी कार्य कतार बहुत ही कम चलती है; मैं नौकरी चलाता हूं (जो डेटा उत्पन्न करता है और इसे किसी अन्य सर्वर पर अपलोड करता है), नाक की लॉग कैप्चर लाइब्रेरी पर एक संस्करण का उपयोग करके लॉगिंग एकत्र करें, और फिर मैं कार्य डेटाबेस में विस्तृत परिणाम रिकॉर्ड के रूप में कार्य के लिए लॉगिंग संग्रहीत करता हूं।
मैं तीन कार्यों के रूप में इस तोड़ने के लिए करना चाहते हैं:
- डेटा एकत्र
- अपलोड डेटा
- रिपोर्ट परिणाम (सभी पूर्ववर्ती दो कार्यों से प्रवेश करने सहित)
असली किकर यहां लॉगिंग संग्रह है। अभी, लॉग कैप्चर का उपयोग करके, मेरे पास डेटा पीढ़ी और अपलोड प्रक्रिया के दौरान किए गए प्रत्येक लॉग कॉल के लिए लॉग रिकॉर्ड की एक श्रृंखला है। इन्हें नैदानिक उद्देश्यों के लिए आवश्यक है। यह देखते हुए कि कार्यों को एक ही प्रक्रिया में चलाने की भी गारंटी नहीं है, यह स्पष्ट नहीं है कि मैं इसे सेलेरी कार्य कतार में कैसे पूरा करूंगा।
इस समस्या का मेरे आदर्श समाधान पूर्ववर्ती कार्य के दौरान सभी प्रवेश पर कब्जा करने का एक तुच्छ और आदर्श न्यूनतम इनवेसिव विधि हो जाएगा (1, 2) और यह संवाददाता कार्य के लिए उपलब्ध बनाने (3)
मैं सबसे अच्छा हूँ मेरी कार्य परिभाषा के साथ काफी मोटे अनाज से बाहर, और इस काम को एक कार्य में डाल दिया? या अंत में इसे इकट्ठा करने के लिए मौजूदा कब्जे वाले लॉगिंग को पास करने का कोई तरीका है?