इस लेख में
Cron एक्सप्रेशन को समझना
Cron एक्सप्रेशन संक्षिप्त स्ट्रिंग हैं जो Unix-जैसे सिस्टम, CI/CD पाइपलाइन और क्लाउड शेड्यूलर में आवर्ती शेड्यूल परिभाषित करते हैं। एक मानक cron एक्सप्रेशन में पाँच फ़ील्ड होते हैं: मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन। प्रत्येक फ़ील्ड संख्याएँ, रेंज, वाइल्डकार्ड और स्टेप मान स्वीकार करता है, जिससे एक शक्तिशाली पर संक्षिप्त शेड्यूलिंग भाषा बनती है।
जहाँ अनुभवी डेवलपर cron एक्सप्रेशन को देखते ही पढ़ सकते हैं, वहीं उन्हें शुरू से बनाना त्रुटि-प्रवण है। एक दृश्य cron एक्सप्रेशन बिल्डर अनुमान लगाने की ज़रूरत को ख़त्म कर देता है — यह आपको ड्रॉपडाउन और टॉगल से शेड्यूल पैरामीटर चुनने देता है, फिर अपने आप सही सिंटैक्स जेनरेट करता है। यह जटिल शेड्यूल जैसे हर कार्यदिवस सुबह 8:30 बजे या हर तिमाही के पहले सोमवार के लिए ख़ासकर मूल्यवान है।
Cron एक्सप्रेशन को दृश्य रूप से कैसे बनाएँ
CheckTown का Cron एक्सप्रेशन बिल्डर सिंटैक्स याद किए बिना cron एक्सप्रेशन बनाने के लिए एक इंटरैक्टिव इंटरफ़ेस प्रदान करता है।
- शुरुआती टेम्पलेट सेट करने के लिए एक आधार आवृत्ति (हर मिनट, प्रति घंटा, दैनिक, साप्ताहिक, मासिक, वार्षिक) चुनें
- विशिष्ट मिनट, घंटे, दिन या महीनों के लिए ड्रॉपडाउन का उपयोग करके प्रत्येक फ़ील्ड को बारीकी से समायोजित करें
- यह पुष्टि करने के लिए कि एक्सप्रेशन आपके इरादे से मेल खाता है, अगले निर्धारित रन समय का पूर्वावलोकन करें
- जेनरेट किए गए cron एक्सप्रेशन को सीधे अपने crontab, CI कॉन्फ़िग या क्लाउड शेड्यूलर में कॉपी करें
निःशुल्क आज़माएँ — कोई साइनअप आवश्यक नहीं
एक्सप्रेशन बनाएँ →आम Cron शेड्यूलिंग पैटर्न
कुछ शेड्यूलिंग पैटर्न विभिन्न इंफ़्रास्ट्रक्चर और स्वचालन कार्यों में बार-बार दिखाई देते हैं।
- पीक ट्रैफ़िक से बचने के लिए रात 2:00 बजे नाइटली बैकअप, कम-उपयोग वाली अवधि के दौरान डेटाबेस रखरखाव, और आधी रात को लॉग रोटेशन
- केवल कार्यसमय वाले शेड्यूल जैसे हर कार्यदिवस सुबह 9 बजे रिपोर्ट चलाना या सोमवार की सुबह डाइजेस्ट ईमेल भेजना
- उच्च-आवृत्ति पोलिंग जैसे health check के लिए हर 5 मिनट, कैश अमान्यकरण के लिए हर 15 मिनट, या डेटा सिंक के लिए हर घंटे
अक्सर पूछे जाने वाले प्रश्न
cron पार्सर और cron एक्सप्रेशन बिल्डर में क्या अंतर है?
एक cron पार्सर किसी मौजूदा एक्सप्रेशन को लेता है और उसे आगामी रन समय के साथ मानव-पठनीय विवरण में अनुवादित करता है। एक cron एक्सप्रेशन बिल्डर विपरीत दिशा में काम करता है — आप एक दृश्य इंटरफ़ेस के माध्यम से अपने इच्छित शेड्यूल का वर्णन करते हैं और यह cron एक्सप्रेशन जेनरेट करता है। दोनों टूल एक शेड्यूलिंग वर्कफ़्लो में एक-दूसरे के पूरक हैं।
क्या cron एक्सप्रेशन सेकंड का समर्थन करते हैं?
मानक Unix cron पाँच फ़ील्ड का उपयोग करता है और सेकंड का समर्थन नहीं करता। हालाँकि, Quartz Scheduler और Spring जैसे कुछ सिस्टम छह-फ़ील्ड या सात-फ़ील्ड वाले संस्करण का उपयोग करते हैं जो सेकंड और वैकल्पिक रूप से वर्ष फ़ील्ड जोड़ता है। बिल्डर मानक पाँच-फ़ील्ड एक्सप्रेशन जेनरेट करता है जो crontab, GitHub Actions, AWS CloudWatch और अधिकांश शेड्यूलिंग सिस्टम के साथ काम करते हैं।
मैं किसी जॉब को सप्ताह के विशिष्ट दिनों पर चलाने के लिए कैसे शेड्यूल करूँ?
day-of-week फ़ील्ड (पाँचवाँ फ़ील्ड) का उपयोग 0 (रविवार) से 6 (शनिवार) तक के मानों के साथ करें। उदाहरण के लिए, 1-5 का मतलब सोमवार से शुक्रवार है, जबकि 0,6 का मतलब केवल सप्ताहांत। दृश्य बिल्डर प्रत्येक दिन के लिए चेकबॉक्स के साथ इसे आसान बना देता है, और आप शेड्यूल के सही होने की पुष्टि के लिए अगले रन समय देख सकते हैं।