मैं शेड्यूलिंग कार्यों का एक तरीका ढूंढ रहा हूं जहां कई पिछले कार्यों को पूरा करने के बाद एक कार्य शुरू होता है।जटिल निर्भरताओं के साथ कार्य शेड्यूलिंग
मेरे पास कई सौ "संग्राहक" प्रक्रियाएं हैं जो विभिन्न स्रोतों से डेटा एकत्र करती हैं और इसे डेटाबेस में डंप करती हैं। एक बार इन्हें इकट्ठा करना समाप्त हो गया (कहीं भी 1 सेकंड से कुछ मिनट तक) मैं डेटाबेस में डेटा का विश्लेषण और समझने के लिए तुरंत "डेटा प्रोसेसिंग" प्रक्रियाओं का एक समूह बंद करना चाहता हूं। जब ये सभी समाप्त हो गए हैं, तो मैं एक अंतिम कार्य शुरू करना चाहता हूं और मुझे सारांश डेटा का ईमेल भेजना चाहता हूं।
मैं वर्तमान में एक गियरमैन कतार का उपयोग कर रहा हूं और "कलेक्टर" प्रक्रियाओं को पूरा करने के बाद डेटा प्रोसेसिंग कार्यों को टाइमर पर शुरू कर रहा हूं, लेकिन इसका मतलब है कि प्रसंस्करण चरण 10 मिनट के बाद शुरू होता है, भले ही कलेक्टर प्रक्रियाएं 3 के बाद समाप्त (या बदतर, अभी तक समाप्त नहीं हुआ है)।
आदर्श रूप से मैं विशिष्ट नियमों को निर्दिष्ट करने में सक्षम हूं जैसे प्रक्रिया ए और (बी या सी) पूर्ण होने पर प्रक्रिया शुरू करें X या "प्रक्रिया प्रक्रिया वाई जब 95% निर्दिष्ट प्रक्रिया पूरी हो गई हो या 10 मिनट बीत चुके हों "।
प्रक्रियाओं और निर्भरताओं को स्वचालित रूप से बनाया जाना चाहिए क्योंकि यह हर बार विभिन्न मानकों के साथ चलाया जाएगा (यानी मैं हर बार एक समान गणना नहीं कर रहा हूं)।
मैं कतारों और मॉनीटरों का उपयोग करके स्वयं के कुछ प्रकार के ग्राफ-निर्भरता ढांचे को लिख सकता हूं, लेकिन ऐसा लगता है कि इस तरह की चीज की तरह पहले से ही हल हो चुका है और मैं किसी ऐसे व्यक्ति की तलाश कर रहा हूं जिसने मुझे कुछ वर्णन किया है।
- बी या सी
- 95% पूरा या 10 मिनट
गुजरे पहले मैंने सोचा था कि अपनी प्रक्रियाओं बस अतुल्यकालिक थे पर:
असंभव है कि यह PHP में किया गया है। – andho