हिन्दी

डेवलपर टूल · क्रोंटैब जनरेटर

Cron में कोई सेकंड फ़ील्ड क्यों नहीं है, और छह-फ़ील्ड अभिव्यक्तियाँ कहाँ से आती हैं

· पेजभूमि

Cron बोलियों मान्यकरण

अस्वीकृत छठे सेकंड फ़ील्ड के बगल में पाँच स्वीकृत Cron फ़ील्ड
मूल ToolAcre वेक्टर चित्रण

छह-फ़ील्ड अभिव्यक्ति एक Cron अभिव्यक्ति नहीं है, भले ही यह एक जैसी दिखती हो। यह पोस्ट बताती है कि Unix Cron मिनटों पर क्यों रुकता है, और क्वार्ट्ज, स्प्रिंग और क्लाउड शेड्यूलर्स ने व्याकरण को कैसे बढ़ाया।

छह-फ़ील्ड अभिव्यक्ति किसी अन्य शेड्यूलर शैली से संबंधित है, इस पार्सर से नहीं

जब ToolAcre छह रिक्त स्थान से अलग किए गए हिस्सों को देखता है, तो यह उन्हें अस्वीकार कर देता है और बताता है कि इसके प्रारूप में बिल्कुल पांच स्थान हैं: मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन। संदेश नोट करता है कि अग्रणी सेकंड शैली क्वार्ट्ज या सिस्टमड-जैसे सिंटैक्स में दिखाई देती है। यह चुपचाप पहला टोकन नहीं गिराता।

यह इनकार स्थितिगत भ्रष्टाचार को रोकता है। स्रोत व्याकरण को समझे बिना किसी टोकन को हटाने से प्रत्येक शेष मूल्य बदल सकता है। अनुवाद यह पहचानने से शुरू होता है कि प्रत्येक स्रोत फ़ील्ड का क्या अर्थ है और क्या इच्छित शेड्यूल पांच-फ़ील्ड लक्ष्य में प्रस्तुत करने योग्य है।

भंडार मिनट-प्रथम व्याकरण को साबित करता है, न कि उस ऐतिहासिक कारण को जो Cron मिनटों का उपयोग करता है

कार्यान्वित फ़ील्ड सरणी मिनट से शुरू होती है और कार्यदिवस पर समाप्त होती है। कोई सेकंड या वर्ष विनिर्देश मौजूद नहीं है. परीक्षणों के लिए सटीक फ़ील्ड गणना की आवश्यकता होती है और छोटी और लंबी दोनों अभिव्यक्तियों को अस्वीकार कर दिया जाता है। यह वर्तमान व्याकरण का दस्तावेजीकरण करने के लिए पर्याप्त है।

कार्यपुस्तिका में प्रति मिनट एक बार जागने वाले डेमॉन पर आधारित एक ऐतिहासिक व्याख्या प्रस्तुत की गई। इस भंडार में उस उत्पत्ति को साबित करने के लिए आवश्यक अभिलेखीय कार्यान्वयन शामिल नहीं है। इसलिए लेख केवल इतना कहता है कि ToolAcre के मॉडल में मिनट रिज़ॉल्यूशन है और कोई सेकंड स्थिति नहीं है।

अग्रणी सेकंड शैली से परे क्वार्ट्ज़ विवरण यहां लागू नहीं किए गए हैं

स्रोत त्रुटि संदेश सेकंड-प्रथम शैली के उदाहरण के रूप में क्वार्ट्ज का नाम देता है, लेकिन पार्सर क्वार्ट्ज ऑपरेटरों या वैकल्पिक पदों को लागू नहीं करता है। `?`, `L`, `W` और `#` जैसे वर्ण सामान्य मान रीडर में विफल हो जाते हैं। उन्हें समर्थित वाक्यविन्यास के रूप में अनुवादित या समझाया नहीं गया है।

क्वार्ट्ज सत्यापनकर्ता के रूप में ToolAcre का उपयोग करने से बचें। एक वैध स्रोत अभिव्यक्ति उन रिश्तों को एन्कोड कर सकती है जिन्हें पांच-फ़ील्ड Cron प्रस्तुत नहीं कर सकता है। स्रोत दस्तावेज़ पढ़ें, आवश्यकता को शब्दों में बताएं और केवल लक्ष्य व्याकरण द्वारा समर्थित भाग का पुनर्निर्माण करें।

स्प्रिंग और क्लाउड शेड्यूलर व्याकरण साक्ष्य सेट से बाहर हैं

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

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

व्यावहारिक उदाहरण: एक प्रतिनिधित्वयोग्य तिमाही-घंटे के कार्यदिवस कार्यक्रम का पुनर्निर्माण करें

मान लीजिए कि स्रोत की आवश्यकता सप्ताह के दिनों में 9 से 17 घंटों के दौरान हर पंद्रह मिनट में होती है, और कोई भी विदेशी ऑपरेटर अतिरिक्त अर्थ नहीं रखता है। ToolAcre में प्रतिनिधित्व योग्य रूप `*/15 9-17 * * MON-FRI` है। पार्सर चौथाई घंटे, सम्मिलित घंटे और नामित कार्यदिवसों का विस्तार करता है।

विवरण और पूर्वावलोकन फिर लक्ष्य व्याख्या को उजागर करता है, जिसमें 17:45 पर अंतिम दैनिक उम्मीदवार भी शामिल है। अनुवाद को समतुल्य कहने से पहले इसकी तुलना स्रोत अनुसूचक के वास्तविक व्यवहार से करें। पाँच-फ़ील्ड फ़ॉर्म केवल अनुवाद के दौरान स्थापित मौखिक आवश्यकता के लिए सही है।

उप-मिनट कमांड लूप उत्पन्न या अनुशंसित नहीं हैं

उप-मिनट कार्य को व्यक्त नहीं किया जा सकता क्योंकि मिनट सबसे छोटा क्षेत्र है। कार्यपुस्तिका ने एक कमांड के अंदर एक लूप का सुझाव दिया, लेकिन ToolAcre लूप उत्पन्न, निष्पादित या पर्यवेक्षण नहीं करता है। ऐसा पैटर्न अपने कैलेंडर मॉडल के बाहर समय, ओवरलैप और शटडाउन संबंधी चिंताओं का परिचय देता है।

आवश्यक रिज़ॉल्यूशन के लिए डिज़ाइन किया गया रनटाइम चुनें और इसे वहां सत्यापित करें। मिनट स्लॉट में सेकंड रखकर सेकंड की आवश्यकता को पांच-फ़ील्ड क्रोन के रूप में न छुपाएं। कुछ मामलों में संख्यात्मक सत्यापन पारित करने के बावजूद परिणामी शेड्यूल धीमा और शब्दार्थ रूप से भिन्न होगा।

विदेशी माह-अंत ऑपरेटर अअनुवादित रहते हैं

अन्य व्याकरणों के माह-अंत और क्रमिक-सप्ताहांत संचालक भी दायरे से बाहर हैं। उन्हें हटाने से तारीखें अप्रत्याशित रूप से बढ़ या संकीर्ण हो सकती हैं। ToolAcre सामान्य मानों, नामों, कैटेगरी, सूचियों और चरणों, साथ ही इसके दस्तावेज़ीकृत उपनामों का समर्थन करता है; वह सेट अनुवाद सीमा को परिभाषित करता है।

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

टेकअवे: पेस्ट करने से पहले फ़ील्ड्स को गिनें - और पांच-फ़ील्ड संस्करण बनाने के लिए जनरेटर का उपयोग करें जिसे क्रोंटैब स्वीकार करता है

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

मार्ग केवल पाँच-फ़ील्ड अभिव्यक्तियाँ उत्पन्न करता है। यह सेकंड, वर्ष या शेड्यूलर-विशिष्ट ऑपरेटरों को मान्य नहीं करता है, और यह किसी कार्य को शेड्यूल नहीं करता है। वे चूक एक विश्वसनीय सीमा को परिभाषित करती हैं जो हर प्रवासन चर्चा में दिखाई देनी चाहिए।