सर्वर रीस्टार्ट पर नोडज में पुनर्निर्धारित क्रोन जॉब्स

वोट
41

मेरे पास नोड जेएस एप्लिकेशन है जहां उपयोगकर्ता 4-5 विभिन्न क्रोन नौकरियों को शेड्यूल कर सकता है। एक उपयोगकर्ता एक start_date, end_date, start_time, और end_time का चयन करता है, और तदनुसार, क्रोन फ़ंक्शन शेड्यूल किए जाते हैं और कुछ अभियान लीड (या अन्य उपयोगकर्ताओं) से जुड़ने के लिए उत्पन्न होते हैं। मैं वांछित क्रोन-जॉब निष्पादन को प्राप्त करने के लिए एनपीएम पैकेज नोड-शेड्यूल का उपयोग कर रहा हूं, लेकिन अगर मेरा वेब एप्लिकेशन बीच में क्रैश हो जाता है तो समस्या उत्पन्न होती है।

के आधिकारिक दस्तावेज के अनुसार node-schedule ,

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

इसका समाधान करने के लिए मैं जो समाधान कर सकता हूं, वह है कि सर्वर स्क्रिप्ट का उपयोग करते हुए हर बार पुनरारंभ होने वाली सर्वर.जेएस फ़ाइल का उपयोग करके क्रोन फ़ंक्शन को कॉल करें। लेकिन मैं निम्नलिखित मुद्दों में से कुछ को हल करने में असमर्थ हूं:

  1. एक शेड्यूलर एक व्यक्तिगत फ़ंक्शन है, न कि अभियान-विशिष्ट, इसलिए एप्लिकेशन को यह कैसे पता चलेगा कि जो क्रोन-फ़ंक्शन शुरू हो गया है अगर वह पूरा नहीं हुआ है?
  2. एक अनुसूचक एक एकल फ़ंक्शन है, जिसे सर्वर के पुनरारंभ होने के बाद हर बार कॉल किया जाएगा। यदि किसी सर्वर के 6 इंस्टेंस बनाए जाते हैं, तो इसे 6 बार कहा जाएगा।

मान लीजिए, मेरा शेड्यूल 28 मई 11:00 पूर्वाह्न से 31 मई के बीच 12:00 पूर्वाह्न तक चलने के कारण है। शेड्यूलर अपना काम शुरू करता है और बीच में कुछ अभियान चलाए जाते हैं। यदि मेरा सर्वर 30 मई को नीचे चला जाता है, तो मैं शेष दिनांक-समय और अभियानों को कैसे उठा सकता हूं और इसे वहां से पूरा कर सकता हूं?

इसलिए मुझे इस बात की चिंता है कि अभियानों के लिए क्रोन जॉब फ़ंक्शंस को कैसे शेड्यूल या हैंडल किया जाए? यदि सर्वर बंद कर दिया जाता है, तो अभियान के किसी भी क्रॉन जॉब्स के बीच में दुर्घटनाग्रस्त हो जाता है, मुझे उस समय या दिनांक से उस क्रॉन फ़ंक्शन को फिर से शेड्यूल या निष्पादित करने में कैसे सक्षम होना चाहिए?

मैं क्रोन नौकरियों के साथ बहुत अनुभवी नहीं हूं, कुछ उपयोगी समाधानों की उम्मीद कर रहा हूं।

28/05/2020 को 19:49
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more