Cron एक्सप्रेशन का विश्लेषण और कार्यप्रणाली
Cron एक्सप्रेशन पार्सर एक तकनीकी टूल है जो किसी भी स्टैंडर्ड Cron एक्सप्रेशन को उसके व्यक्तिगत घटकों में विभाजित करके दिखाता है। यह टूल न केवल एक्सप्रेशन के हर हिस्से का सटीक अर्थ स्पष्ट करता है, बल्कि आपके स्थानीय समय क्षेत्र (local timezone) के अनुसार आने वाले समय की एक सूची भी प्रदर्शित करता है जब यह शेड्यूल सक्रिय होगा।
जब आप इस टूल में कोई एक्सप्रेशन इनपुट करते हैं, तो यह वास्तविक समय में उसका विश्लेषण करता है। यदि इनपुट फ़ील्ड खाली छोड़ दी जाती है, तो टूल अपनी प्रारंभिक स्थिति में लौट आता है और "पार्स करने के लिए Cron एक्सप्रेशन डालें।" संदेश दिखाता है।
इनपुट विकल्प और समर्थित सिंटैक्स
टूल में मुख्य रूप से दो इनपुट विकल्प दिए गए हैं:
-
Cron एक्सप्रेशन: यह एक सिंगल-लाइन टेक्स्ट इनपुट है। टूल स्टैंडर्ड 5-फील्ड Cron एक्सप्रेशन को स्वीकार करता है, जिसमें निम्नलिखित फ़ील्ड शामिल हैं:
- मिनट
- घंटा (Hour)
- दिन
- महीना
- हफ्ते का दिन
यह टूल विभिन्न प्रकार के सिंटैक्स प्रारूपों का समर्थन करता है:
- रेंज (Ranges): जैसे
1-5 - स्टेप (Steps): जैसे
*/15 - लिस्ट (Lists): जैसे
1,15 - नाम वाले महीने: जैसे
JAN - नाम वाले हफ्ते के दिन: जैसे
MON - शॉर्टकट: जैसे
@yearly,@monthly,@weekly,@daily, और@hourly
उदाहरण के लिए, आप इनपुट के रूप में
*/15 9-17 * * MON-FRIका उपयोग कर सकते हैं। -
संख्या: यह एक संख्यात्मक इनपुट है जिसके माध्यम से आप प्रदर्शित होने वाले अगले रन टाइम की संख्या को 1 से 20 के बीच सेट कर सकते हैं।
यह टूल छठे "सेकंड" फ़ील्ड या Quartz-विशिष्ट एक्सटेंशन जैसे L, W, या # का समर्थन नहीं करता है।
आउटपुट और फील्ड ब्रेकडाउन
जब कोई वैध एक्सप्रेशन दर्ज किया जाता है, तो टूल "वैलिड शेड्यूल।" की स्थिति दिखाता है और निम्नलिखित आउटपुट प्रदान करता है:
फील्ड ब्रेकडाउन (Breakdown)
टूल प्रत्येक फ़ील्ड के मान को पार्स करके उसका विवरण दिखाता है:
- मिनट: मिनट फ़ील्ड का पार्स किया गया मान।
- घंटा: घंटे फ़ील्ड का पार्स किया गया मान।
- दिन: महीने के दिन का पार्स किया गया मान।
- महीना: महीने का पार्स किया गया मान।
- हफ्ते का दिन: हफ्ते के दिन का पार्स किया गया मान।
यदि किसी फ़ील्ड में वाइल्डकार्ड * का उपयोग किया जाता है, तो उसे "कोई भी" के रूप में प्रदर्शित किया जाता है। इसके अतिरिक्त, */n प्रारूपों के लिए ब्रेकडाउन इस प्रकार प्रदर्शित होता है:
- "हर
{n}मिनट" - "हर
{n}घंटे" - "हर
{n}दिन" (महीने के दिन के लिए) - "हर
{n}महीने" - "हर
{n}दिन" (हफ्ते के दिन के लिए)
अगले रन (Next Runs)
यह भाग आने वाले समय की सूची दिखाता है जब शेड्यूल निष्पादित होगा।
- स्थानीय समय नोट: सभी समय आपके ब्राउज़र के स्थानीय समय क्षेत्र के अनुसार "(आपका लोकल टाइम)" लेबल के साथ दिखाए जाते हैं।
- दिखाए गए रन: वर्तमान में प्रदर्शित होने वाले अगले रन की कुल संख्या।
त्रुटियां और विशेष नियम
Cron एक्सप्रेशन को पार्स करते समय टूल कुछ विशिष्ट नियमों और त्रुटि संदेशों का पालन करता है:
- इनवैलिड Cron एक्सप्रेशन: यदि इनपुट सिंटैक्स के अनुसार गलत है, तो टूल "इनवैलिड Cron एक्सप्रेशन।" प्रदर्शित करता है।
- असंभव शेड्यूल: यदि एक्सप्रेशन सिंटैक्स के अनुसार सही है लेकिन ऐसा शेड्यूल दर्शाता है जो कभी घटित नहीं हो सकता, तो टूल यह संदेश दिखाता है: "यह शेड्यूल कभी नहीं चलेगा — चेक करें कि दिन कहीं किसी महीने में न होने वाला तो नहीं है।"। यह स्थिति आमतौर पर तब उत्पन्न होती है जब महीने के दिन के रूप में 31 निर्धारित किया गया हो और महीनों की सूची में अप्रैल, जून, सितंबर या नवंबर जैसे महीने शामिल हों, जिनमें 31 दिन नहीं होते।
- दिन और हफ्ते के दिन का अंतर्संबंध: जब महीने का दिन और हफ्ते का दिन दोनों ही फ़ील्ड प्रतिबंधित हों (अर्थात दोनों में
*न हो), तो शेड्यूल के चलने के लिए दोनों में से किसी भी एक शर्त का पूरा होना पर्याप्त होता है।
डेटा प्रोसेसिंग और गोपनीयता
इस टूल का उपयोग करते समय आपकी गोपनीयता पूरी तरह से सुरक्षित रहती है। आपका Cron एक्सप्रेशन आपके ब्राउज़र में ही पार्स होता है। BroBroGo पर कोई भी डेटा अपलोड या प्रेषित नहीं किया जाता है। संपूर्ण प्रोसेसिंग क्लाइंट-साइड पर होती है।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
यह टूल कौन-सा Cron सिंटैक्स सपोर्ट करता है?
स्टैंडर्ड 5 फील्ड — मिनट, घंटा, दिन, महीना, हफ्ते का दिन — रेंज (1-5), स्टेप (/15), लिस्ट (1,15), महीने/हफ्ते के इंग्लिश शॉर्ट नाम (JAN, MON), और @yearly/@monthly/@weekly/@daily/@hourly जैसे शॉर्टकट सपोर्ट करता है। एक बात अक्सर मिस हो जाती है: जब "दिन" और "हफ्ते का दिन" दोनों फील्ड रिस्ट्रिक्ट ( नहीं) हों, तो किसी एक का मैच होना काफी है, दोनों का मैच होना जरूरी नहीं।
अगले रन टाइम किस टाइमज़ोन में दिखते हैं?
आपके ब्राउज़र के सिस्टम की लोकल टाइमज़ोन में। स्टैंडर्ड Cron एक्सप्रेशन में खुद कोई टाइमज़ोन नहीं होता, यह उस शेड्यूलर पर डिपेंड करता है जो इसे चलाता है, तो इसे अपने लोकल क्लॉक का प्रीव्यू मानें, ज़रूरी नहीं कि सर्वर का भी यही टाइम हो।
यह क्यों दिखाता है कि यह शेड्यूल कभी नहीं चलेगा?
ज्यादातर तब होता है जब दिन वाली फील्ड में ऐसा दिन डाला हो जो चुने गए किसी महीने में होता ही नहीं — जैसे दिन 31 डालना और महीने में अप्रैल, जून, सितंबर या नवंबर शामिल करना। ऐसा दिन चुनें जो सभी चुने गए महीनों में मौजूद हो, या अलग-अलग एक्सप्रेशन में बांट दें।