मुख्य बिंदु
- 01सादे-अंग्रेजी व्याख्याएं इसे आसान बनाती हैं कि एक cron नौकरी वास्तव में क्या करेगी इसकी पुष्टि करने के लिए इसे तैनात करने से पहले।
- 02अगले 5 UTC रन समय ISO-8601 प्रारूप में सूचीबद्ध हैं टाइमज़ोन-सुरक्षित सत्यापन के लिए।
- 03मानक Vixie-cron नियमों के बाद रेंज (1-5), सूचियाँ (1,3,5) और कदम (*/15) का समर्थन करता है।
- 04सब कुछ आपके ब्राउज़र में चलता है — कोई बैकएंड, कोई खाता, कोई नेटवर्क अनुरोध नहीं।
Cron अभिव्यक्तियाँ गलत क्यों होना आसान है
Cron सिंटैक्स डिज़ाइन द्वारा कॉम्पैक्ट है, लेकिन वह compactness इसे गलत समय पर एक नौकरी अनुसूचित करना आश्चर्यजनक रूप से आसान बनाता है। एक मध्यरात्रि बैकअप जो UTC में दोपहर को फायर करता है, एक कदम अभिव्यक्ति जो अपेक्षित समय को मिस करता है, या एक दिन-सप्ताह मूल्य जो एक बंद है — ये bugs को पकड़ना कठिन है जब तक नौकरी शांति से सोमवार सुबह नहीं चलती। 0 */6 * * 1-5 को ज़ोर से पढ़ना आपको बहुत कुछ नहीं बताता जब तक कि आप क्षेत्र क्रम को हृदय से नहीं जानते।
Handytool का cron निर्माता इसे हल करता है किसी भी वैध अभिव्यक्ति को उस वाक्य में अनुवाद करके जो आप वास्तव में पढ़ सकते हैं, फिर अगले पांच बार दिखाते हैं कि यह UTC में फायर होगा। उत्पादन तक पहुंचने से पहले गलती को पकड़ें, इसके बाद एक निर्धारित कार्य सोमवार सुबह विफल होता है।
एक Cron अभिव्यक्ति कैसे निर्माण और सत्यापन करें
- 01
एक प्रीसेट से शुरू करें या अपना दर्ज करें
हर मिनट, प्रति घंटा, मध्यरात्रि पर दैनिक, और सोमवार पर साप्ताहिक जैसे प्रीसेट आपको सही शुरुआती बिंदु देते हैं। कस्टम शेड्यूल के लिए मैनुअल प्रवेश पर स्विच करें।
- 02
अपने 5 क्षेत्रों को दर्ज करें
मिनट घंटा दिन-सप्ताह माह दिन-सप्ताह क्रम में अभिव्यक्ति दर्ज करें। निर्माता जब आप टाइप करते हैं तब प्रत्येक क्षेत्र की सीमाओं को सत्यापित करता है।
- 03
सादे-अंग्रेजी विवरण पढ़ें
व्याख्या लाइव अपडेट होती है। पुष्टि करें कि वाक्य आपकी इरादे से मेल खाता है — उदाहरण के लिए 'हर 6 घंटे पर :00 पर, सोमवार के माध्यम से शुक्रवार'।
- 04
अगले 5 रन समय देखें
आने वाले फायर समय ISO-8601 UTC में सूचीबद्ध हैं। महीने के अंत की सीमाओं या समय क्षेत्र ऑफसेट जैसे edge cases को सत्यापित करने के लिए उनका उपयोग करें।
Cron सिंटैक्स त्वरित संदर्भ
सभी पांच क्षेत्र इन नियमों का पालन करते हैं:
- 01एस्टेरिक (*) क्षेत्र में हर मान्य मूल्य का मतलब है
- 02स्लैश (*/N) N की वृद्धि में श्रेणी के माध्यम से कदम उठाता है
- 03डैश (A-B) A से B तक हर मान से मेल खाता है समावेशी
- 04कॉमा (A,B,C) मान की एक विशिष्ट सूची से मेल खाता है
- 05क्षेत्र श्रेणी: मिनट 0-59, घंटा 0-23, दिन 1-31, माह 1-12, सप्ताहांत 0-6 (रविवार=0)
कोई इंस्टॉल, कोई सर्वर नहीं
Cron निर्माता अभिव्यक्तियों को पार्स करता है और अगला-रन समय पूरी तरह से JavaScript का उपयोग करके आपके ब्राउज़र में गणना करता है। कुछ भी सर्वर को नहीं भेजा जाता है, इसलिए कोई साइन-अप, कोई API कोटा, और कोई विलंब नहीं है। अगली-रन गणना मानक Vixie-cron नियमों के विरुद्ध मिनट-दर-मिनट मेलों को सिमुलेट करता है, जो अधिकांश उत्पादन शेड्यूलर द्वारा उपयोग किए जाने वाली समान approach है।
6-field अभिव्यक्तियों (एक अग्रणी सेकंड क्षेत्र के साथ) और @daily या @weekly जैसी विशेष स्ट्रिंग समर्थित नहीं हैं। अधिकांश उत्पादन वातावरण — cron स्वयं, Kubernetes, और GitHub Actions सहित — मानक 5-field रूप का उपयोग करते हैं, इसलिए निर्माता उस पर केंद्रित होता है।
Cron अभिव्यक्ति निर्माता FAQ
यह निर्माता कौन सी cron स्वाद का समर्थन करता है?
मानक 5-field Vixie-cron: मिनट, घंटा, दिन-माह, माह, दिन-सप्ताह। @daily/@weekly संक्षिप्त रूप और 6-field सेकंड सिंटैक्स समर्थित नहीं हैं, जैसा कि अधिकांश उत्पादन शेड्यूलर 5-field रूप का उपयोग करते हैं।
अगले रन समय UTC में क्यों दिखाए जाते हैं?
अधिकांश CI/CD सिस्टम और क्लाउड शेड्यूलर UTC में cron अभिव्यक्तियों की व्याख्या करते हैं। UTC दिखाना पूर्वावलोकन को portable रखता है और भ्रामक स्थानीय-समय प्रदर्शन से बचाता है।
मिनट क्षेत्र में */15 और 0,15,30,45 के बीच क्या अंतर है?
दोनों हर 15 मिनट फायर करते हैं। */15 0 से शुरू होता है और 15 से कदम उठाता है, जो 0,15,30,45 के बराबर है। घंटा क्षेत्र के लिए, */6 का मतलब 0,6,12,18 है।
क्या मैं महीने के आखिरी दिन पर एक नौकरी अनुसूचित कर सकता हूँ?
मानक cron का कोई 'अंतिम दिन' टोकन नहीं है। आप दिन क्षेत्र में 28-31 के साथ अनुमानित कर सकते हैं, लेकिन 31 दिनों से कम महीनों को साफ-साफ संभालने के लिए, अपनी नौकरी स्क्रिप्ट के अंदर दिनांक जांचें।
क्या हर सप्ताहांत 9 AM पर एक नौकरी चलाने का कोई तरीका है?
हाँ: 0 9 * * 1-5 UTC में सोमवार के माध्यम से शुक्रवार 09:00 पर फायर करता है। तैनात करने से पहले निर्माता के सादे-अंग्रेजी आउटपुट और अगली-रन सूची में इसकी पुष्टि करें।