ऐपमास्टर एप्लिकेशन के बैकएंड में टास्क शेड्यूलर, जैसा कि बैकएंड के क्लासिक मामले में होता है, दोहराए जाने वाले परिदृश्य बनाता है। उदाहरण के लिए, जब आपको किसी शेड्यूल पर कोई विशिष्ट कार्य करने की आवश्यकता होती है। ऐसे कार्यों का एक उत्कृष्ट उदाहरण सर्वर पर अस्थायी फ़ाइलों की सफाई, साप्ताहिक बैकअप, किसी दिए गए एल्गोरिथम के अनुसार रिपोर्ट तैयार करना आदि का एक उदाहरण है।
आइए AppMaster एप्लिकेशन बैकएंड में कार्य शेड्यूलर का उपयोग करने के एक उदाहरण पर विचार करें। मान लीजिए आप एक प्रक्रिया बनाना चाहते हैं कि हर सुबह 9 बजे उपयोगकर्ता को मौसम उसके मोबाइल फोन नंबर पर भेज देगा।
इस प्रकार, कार्य को कई तार्किक चरणों में विभाजित किया गया है:
- मोबाइल संदेश भेजने के लिए मॉड्यूल को स्थापित और कॉन्फ़िगर करना
- बाहरी अनुरोध API प्रक्रिया बनाना और कॉन्फ़िगर करना
- एप्लिकेशन बैकएंड में शेड्यूलर सेट करना
1. मोबाइल संदेश भेजने के लिए मॉड्यूल को स्थापित और कॉन्फ़िगर करना। नेक्समो मॉड्यूल आपको ऐपमास्टर एप्लिकेशन में एक चयनित नंबर पर एसएमएस संदेश भेजने की क्षमता को एकीकृत करने की अनुमति देता है।
- एपीआई कुंजी - एपीआई कुंजी जो आपके नेक्समो खाते में प्राप्त की जा सकती है ( https://dashboard.nexmo.com/settings );
- एपीआई सीक्रेट - एक निजी कुंजी जिसका उपयोग उपयोगकर्ता की पहचान करने के लिए एपीआई कुंजी के साथ संयोजन में किया जाता है। आप इसे अपने नेक्समो खाते ( https://dashboard.nexmo.com/settings ) में भी प्राप्त कर सकते हैं;
- आपके नेक्समो खाते में पंजीकरण के दौरान निर्दिष्ट संख्या - संख्या से।
निम्नलिखित व्यावसायिक प्रक्रियाएं मॉड्यूल स्थापना के साथ स्वचालित रूप से स्थापित हो जाती हैं:
- Nexmo.Send SMS - आपको के माध्यम से निर्दिष्ट नंबर पर संदेश भेजने की अनुमति देता है
नेक्समो मॉड्यूल:
- फ़ोन [फ़ोन] - फ़ोन नंबर जिस पर संदेश भेजा जाएगा;
- सामग्री [स्ट्रिंग] - पाठ संदेश;
2. मुक्त OpenWeather API वेब संसाधन का उपयोग मौसम डेटा स्रोत ( https://openweathermap.org/api ) के रूप में किया जाएगा। पहला कदम बाहरी अनुरोध API टेम्पलेट बनाना है। API अनुरोध टेम्प्लेट बाहरी API अनुरोध टैब के व्यावसायिक प्रक्रिया अनुभाग में प्रस्तुत किए जाते हैं। नया टेम्प्लेट बनाने के लिए, एपीआई अनुरोध बनाएं पर क्लिक करें।
अनुरोध प्रकार: GET
अनुरोध का पता: https://api.openweathermap.org/data/2.5/weather
क्वेरी पैराम्स:
- अक्षांश [स्ट्रिंग] - अक्षांश
- लोन [स्ट्रिंग] - देशांतर
- एपिड [स्ट्रिंग] - ओपनवेदर एपीआई कुंजी
इस कार्य के भाग के रूप में, हम केवल मुख्य ( https://openweathermap.org/api/one-call-3 ) में प्रतिक्रिया निकाय के कुछ क्षेत्रों में रुचि रखते हैं।
- अस्थायी [फ्लोट] - तापमान
- Temp_min [फ्लोट] - न्यूनतम तापमान
- Temp_max [फ्लोट] - अधिकतम तापमान
- दबाव [फ्लोट] - दबाव
- आर्द्रता [फ्लोट] - आर्द्रता
3. कार्य शेड्यूलर सेट करने से पहले, आपको एक व्यावसायिक प्रक्रिया बनानी होगी जो एपीआई के माध्यम से मौसम की जानकारी प्राप्त करेगी। व्यवसाय प्रक्रिया इस प्रकार दिखती है:
- मेक वेदर क्वेरी मॉडल इन - एक वर्चुअल रिक्वेस्ट पैरामीटर मॉडल बनाता है। लोन, लैट - वांछित स्थान के निर्देशांक, एपिड - ओपनवेदर सेवा की एपीआई कुंजी;
- एपीआई अनुरोध: मौसम - ओपनवेदर एपीआई के साथ बातचीत करने के लिए जिम्मेदार व्यवसाय प्रक्रिया
- मौसम का विस्तार करें: बॉडी मॉडल आउट - बॉडी रिस्पॉन्स मॉडल को लागू करने के लिए आवश्यक
- विस्तार मौसम: बॉडी मॉडल आउट_मेन - तापमान (अस्थायी) प्राप्त करने के लिए अनुरोध-प्रतिक्रिया निकाय के शरीर के मुख्य मॉडल का विस्तार करता है।
- स्ट्रिंग के लिए - अस्थायी फ़ील्ड मान को स्ट्रिंग प्रकार में परिवर्तित करता है;
- नेक्समो: एसएमएस भेजें - निर्दिष्ट फोन नंबर (फोन) पर तापमान (सामग्री) के बारे में जानकारी के साथ एक संदेश भेजता है।
शेड्यूलर टैब के व्यावसायिक प्रक्रिया अनुभाग में शेड्यूलर सेट करें।
शेड्यूल टैब में शेड्यूलर सेटिंग्स उनके प्रकार के आधार पर भिन्न होती हैं।
आइए उनमें से प्रत्येक पर विस्तार से विचार करें
1. दैनिक - दैनिक कार्यक्रम को कॉन्फ़िगर करने की अनुमति देता है
- समय - यूटीसी+0 में उस समय को परिभाषित करता है जिस पर शेड्यूलर चयनित बीपी शुरू करेगा;
- सप्ताह के दिन - शेड्यूलर के काम करने के लिए सप्ताह के दिनों को परिभाषित करता है;
- स्वचालित रूप से प्रारंभ करें - यदि सही पर सेट किया जाता है, तो नया BP प्रारंभ नहीं होगा यदि पिछला वाला पूरा नहीं हुआ है। डिफ़ॉल्ट मान: गलत।
- स्वचालित रूप से पुन: प्रयास करें - यदि प्रक्रिया बाधित/सफलतापूर्वक प्रारंभ नहीं हुई है तो स्वचालित रूप से पुनरारंभ हो जाती है।
पुन: प्रयास विफल आइटम प्रसंस्करण - प्रक्रिया को पुनरारंभ करने के प्रयासों की संख्या;
प्रत्येक पुन: प्रयास से पहले प्रतीक्षा करें - प्रक्रिया को पुनरारंभ करने के लिए प्रत्येक शॉट से पहले देरी का समय;
- बल छोड़ना - कुछ सेकंड के भीतर पूरा नहीं होने पर प्रक्रिया को बलपूर्वक समाप्त करना। सच है, डिफ़ॉल्ट रूप से। पूरा होने तक सेकंड की संख्या डिफ़ॉल्ट रूप से 3 सेकंड है।
2. मासिक - मासिक योजनाकार
- समय - यूटीसी+0 में उस समय को परिभाषित करता है जिस पर शेड्यूलर चयनित बीपी शुरू करेगा;
- सप्ताह के दिन - दो सेटिंग्स से मिलकर बनता है:
आवृत्ति दोहराएं:
- हर पहले
- हर पल
- हर तिहाई
- हर चौथा
- इस दिन
सप्ताह का दिन - सप्ताह के दिन को परिभाषित करता है
- महीना - महीना तय होता है
- स्वत: प्रारंभ - यदि सही पर सेट किया जाता है, तो एक नया पीएसयू प्रारंभ नहीं किया जाएगा जब तक कि जल्द ही पूरा नहीं हो जाता। डिफ़ॉल्ट मान: गलत।
- स्वचालित रूप से पुन: प्रयास करें - प्रक्रिया को स्वचालित रूप से पुनरारंभ करता है यदि यह बाधित/शुरू नहीं हुआ था
विफल वस्तुओं को संसाधित करने का पुन: प्रयास करें - प्रक्रिया के पुनरारंभ होने की संख्या;
प्रत्येक पुन: प्रयास से पहले प्रतीक्षा करें - प्रक्रिया को पुनरारंभ करने के प्रत्येक प्रयास से पहले देरी का समय;
- फोर्स क्विट - कुछ सेकंड के भीतर पूरी नहीं होने पर एक प्रक्रिया को समाप्त कर देता है। सच है, डिफ़ॉल्ट रूप से। पूरा होने तक सेकंड की संख्या डिफ़ॉल्ट रूप से 3 सेकंड है।
3. समय-समय पर - आपको अनुसूचक की आवृत्ति को लचीले ढंग से कॉन्फ़िगर करने की अनुमति देता है
- प्रत्येक - प्रत्येक एन सेकंड/मिनट/घंटे/दिन दोहराने योग्यता सेट करने की क्षमता। डिफ़ॉल्ट: हर 1 घंटे।
- स्वचालित रूप से प्रारंभ करें - यदि सही पर सेट किया जाता है, तो नया BP प्रारंभ नहीं होगा यदि पिछला वाला पूरा नहीं हुआ है। डिफ़ॉल्ट मान: गलत।
- स्वचालित रूप से पुन: प्रयास करें - प्रक्रिया को स्वचालित रूप से पुनरारंभ करता है यदि यह बाधित हो गया/सफलतापूर्वक प्रारंभ नहीं हुआ
पुन: प्रयास विफल आइटम प्रसंस्करण - प्रक्रिया को पुनरारंभ करने के प्रयासों की संख्या;
प्रत्येक पुन: प्रयास से पहले प्रतीक्षा करें - प्रक्रिया को पुनरारंभ करने के लिए प्रत्येक शॉट से पहले देरी का समय;
- बल छोड़ना - कुछ सेकंड के भीतर पूरा नहीं होने पर प्रक्रिया को बलपूर्वक समाप्त करना। सच है, डिफ़ॉल्ट रूप से। पूरा होने तक सेकंड की संख्या डिफ़ॉल्ट रूप से 3 सेकंड है।
4. ऐप शुरू करने के बाद - सिंगल-टाइम टास्क प्लानर
- विलंब - एप्लिकेशन प्रारंभ और स्टार्टअप के बीच विलंब को परिभाषित करता है। डिफ़ॉल्ट - 0 सेकंड
- स्वचालित रूप से पुन: प्रयास करें - प्रक्रिया को स्वचालित रूप से पुनरारंभ करता है यदि यह बाधित हो गया/सफलतापूर्वक प्रारंभ नहीं हुआ
पुन: प्रयास विफल आइटम प्रसंस्करण - प्रक्रिया को पुनरारंभ करने के प्रयासों की संख्या;
प्रत्येक पुन: प्रयास से पहले प्रतीक्षा करें - प्रक्रिया को पुनरारंभ करने के लिए प्रत्येक शॉट से पहले देरी का समय;
- बल छोड़ना - कुछ सेकंड के भीतर पूरा नहीं होने पर प्रक्रिया को बलपूर्वक समाप्त करना। सच है, डिफ़ॉल्ट रूप से। पूरा होने तक सेकंड की संख्या डिफ़ॉल्ट रूप से 3 सेकंड है।
5. ऐप को खत्म करने से पहले - एप्लिकेशन के समाप्त होने पर हर बार शेड्यूलर चलाएं
- स्वचालित रूप से पुन: प्रयास करें - प्रक्रिया को स्वचालित रूप से पुनरारंभ करता है यदि यह बाधित हो गया/सफलतापूर्वक प्रारंभ नहीं हुआ
पुन: प्रयास विफल आइटम प्रसंस्करण - प्रक्रिया को पुनरारंभ करने के प्रयासों की संख्या;
प्रत्येक पुनः प्रयास प्रयास से पहले प्रतीक्षा करें - प्रक्रिया को पुनरारंभ करने के प्रत्येक प्रयास से पहले देरी का समय;
- बल छोड़ना - कुछ सेकंड के भीतर पूरा नहीं होने पर प्रक्रिया को बलपूर्वक समाप्त करना। सच है, डिफ़ॉल्ट रूप से। पूरा होने तक सेकंड की संख्या डिफ़ॉल्ट रूप से 3 सेकंड है।
शेड्यूलर सेटिंग्स के पैराम्स टैब में, शेड्यूलर द्वारा लॉन्च किए जाने पर बीपी इनपुट को पैरामीटर पास करना भी संभव है:
हमारे उदाहरण में, शेड्यूलर सेटिंग्स इस तरह दिखती हैं:
- संदेश प्रतिदिन सुबह 9 बजे UTC+0 . पर भेजे जाएंगे
- यदि प्रक्रिया तुरंत शुरू नहीं होती है तो प्रयासों के बीच 10 मिनट की देरी के साथ 3 बार प्रक्रिया को स्वचालित रूप से पुनरारंभ करने का प्रयास करता है;
- यदि किसी प्रक्रिया को तीन सेकंड के भीतर पूरा नहीं किया गया है तो उसे बलपूर्वक समाप्त कर देता है।
हमारा एप्लिकेशन बैकएंड में रहता है और काम करता है, इसलिए इसे काम करने के लिए, इसे प्रकाशित करने के लिए पर्याप्त है।