यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
निर्धारित कार्य एक ऐसी घटना है जो समय की शर्त पर ट्रिगर होती है, जिसे दो मोड में बांटा गया है:
जब सिस्टम कॉन्फ़िगर की गई ट्रिगर शर्तों को पूरा करने वाले समय बिंदु (सेकंड तक सटीक) पर पहुँचता है, तो संबंधित वर्कफ़्लो ट्रिगर हो जाएगा।
वर्कफ़्लो सूची में वर्कफ़्लो बनाते समय, "निर्धारित कार्य" प्रकार चुनें:

सामान्य मोड के लिए, आपको सबसे पहले आरंभ समय को किसी भी समय बिंदु (सेकंड तक सटीक) पर कॉन्फ़िगर करना होगा। आरंभ समय को भविष्य के समय या अतीत के समय के रूप में कॉन्फ़िगर किया जा सकता है। जब इसे अतीत के समय के रूप में कॉन्फ़िगर किया जाता है, तो यह कॉन्फ़िगर की गई दोहराने की शर्त के आधार पर जाँच करेगा कि क्या समय हो गया है। यदि कोई दोहराने की शर्त कॉन्फ़िगर नहीं की गई है और आरंभ समय अतीत का है, तो वर्कफ़्लो फिर से ट्रिगर नहीं होगा।
दोहराने के नियम को कॉन्फ़िगर करने के दो तरीके हैं:
दोहराने के नियम को कॉन्फ़िगर करने के बाद, आप एक समाप्ति शर्त भी कॉन्फ़िगर कर सकते हैं। इसे एक निश्चित समय बिंदु पर समाप्त किया जा सकता है या निष्पादित की गई संख्या द्वारा सीमित किया जा सकता है।
संग्रह के समय फ़ील्ड का उपयोग करके आरंभ समय निर्धारित करना, एक ऐसा ट्रिगर मोड है जो सामान्य निर्धारित कार्यों को संग्रह समय फ़ील्ड के साथ जोड़ता है। इस मोड का उपयोग करके कुछ विशिष्ट प्रक्रियाओं में नोड्स को सरल बनाया जा सकता है, और कॉन्फ़िगरेशन के लिहाज़ से भी यह अधिक सहज है। उदाहरण के लिए, यदि आपको समय-सीमा पार कर चुके बिना भुगतान किए गए ऑर्डर की स्थिति को रद्द में बदलना है, तो आप केवल संग्रह समय फ़ील्ड मोड में एक निर्धारित कार्य कॉन्फ़िगर कर सकते हैं, जिसमें आरंभ समय को ऑर्डर बनने के 30 मिनट बाद चुना जाएगा।
यदि कॉन्फ़िगर की गई समय की शर्त पूरी होती है, लेकिन पूरी NocoBase एप्लिकेशन सेवा निष्क्रिय या बंद स्थिति में है, तो उस समय बिंदु पर ट्रिगर होने वाला निर्धारित कार्य छूट जाएगा। और सेवा फिर से शुरू होने के बाद, छूटे हुए कार्य फिर से ट्रिगर नहीं होंगे। इसलिए, इसका उपयोग करते समय आपको ऐसी स्थितियों से निपटने या वैकल्पिक उपायों पर विचार करने की आवश्यकता हो सकती है।
जब समाप्ति शर्त में "दोहराने की संख्या के अनुसार" कॉन्फ़िगर किया जाता है, तो यह एक ही वर्कफ़्लो के सभी संस्करणों में निष्पादित की गई कुल संख्या की गणना करता है। उदाहरण के लिए, यदि एक निर्धारित कार्य संस्करण 1 में 10 बार निष्पादित किया गया है, और दोहराने की संख्या भी 10 पर सेट है, तो वर्कफ़्लो फिर से ट्रिगर नहीं होगा। भले ही इसे नए संस्करण में कॉपी किया जाए, यह ट्रिगर नहीं होगा, जब तक कि दोहराने की संख्या को 10 से अधिक संख्या में नहीं बदला जाता। हालांकि, यदि इसे एक नए वर्कफ़्लो के रूप में कॉपी किया जाता है, तो निष्पादन की संख्या फिर से 0 से गिनना शुरू होगी। संबंधित कॉन्फ़िगरेशन को संशोधित किए बिना, नया वर्कफ़्लो और 10 बार ट्रिगर किया जा सकता है।
दोहराने के नियम में अंतराल समय पिछली बार ट्रिगर होने (या आरंभ समय) के समय बिंदु के सापेक्ष होता है, जबकि उन्नत मोड निश्चित समय बिंदुओं पर ट्रिगर होता है। उदाहरण के लिए, यदि इसे हर 30 मिनट में एक बार ट्रिगर करने के लिए कॉन्फ़िगर किया गया है, और पिछली बार ट्रिगर 2021-09-01 12:01:23 पर हुआ था, तो अगली बार ट्रिगर होने का समय 2021-09-01 12:31:23 होगा। वहीं, उन्नत मोड, यानी cron मोड, में कॉन्फ़िगर किए गए नियम निश्चित समय बिंदुओं पर ट्रिगर होते हैं, उदाहरण के लिए, इसे हर घंटे के 01वें और 31वें मिनट पर ट्रिगर करने के लिए कॉन्फ़िगर किया जा सकता है।
मान लीजिए कि हमें हर मिनट उन ऑर्डर की जाँच करनी है जिनका भुगतान बनने के 30 मिनट से अधिक समय बाद भी पूरा नहीं हुआ है, और उनकी स्थिति को स्वचालित रूप से रद्द में बदलना है। हम इसे दोनों मोड का उपयोग करके लागू करेंगे।
एक निर्धारित कार्य-आधारित वर्कफ़्लो बनाएँ। ट्रिगर कॉन्फ़िगरेशन में, "कस्टम समय" मोड चुनें, आरंभ समय को वर्तमान समय से बाद का कोई भी समय बिंदु सेट करें, दोहराने के नियम के लिए "हर मिनट" चुनें, और समाप्ति शर्त को खाली छोड़ दें:

फिर, प्रक्रिया के तर्क के अनुसार अन्य नोड्स कॉन्फ़िगर करें, 30 मिनट पहले का समय गणना करें, और उन बिना भुगतान किए गए ऑर्डर की स्थिति को रद्द में बदलें जो उस समय से पहले बनाए गए थे:

वर्कफ़्लो सक्षम होने के बाद, यह आरंभ समय से हर मिनट एक बार ट्रिगर होगा, 30 मिनट पहले का समय गणना करेगा, जिसका उपयोग उन ऑर्डर की स्थिति को रद्द में अपडेट करने के लिए किया जाएगा जो उस समय बिंदु से पहले बनाए गए थे।
एक निर्धारित कार्य-आधारित वर्कफ़्लो बनाएँ। ट्रिगर कॉन्फ़िगरेशन में, "संग्रह समय फ़ील्ड" मोड चुनें, "ऑर्डर" संग्रह चुनें, आरंभ समय को ऑर्डर बनने के 30 मिनट बाद सेट करें, और दोहराने के नियम के लिए "दोहराएँ नहीं" चुनें:

फिर, प्रक्रिया के तर्क के अनुसार अन्य नोड्स कॉन्फ़िगर करें ताकि ट्रिगर डेटा ID वाले और "भुगतान नहीं किया गया" स्थिति वाले ऑर्डर की स्थिति को रद्द में अपडेट किया जा सके:

कस्टम समय मोड के विपरीत, यहाँ 30 मिनट पहले का समय गणना करने की आवश्यकता नहीं है, क्योंकि वर्कफ़्लो ट्रिगर डेटा संदर्भ में ही संबंधित डेटा पंक्ति शामिल होती है जो समय की शर्त को पूरा करती है, इसलिए आप सीधे संबंधित ऑर्डर की स्थिति को अपडेट कर सकते हैं।