मोफत Cron एक्स्प्रेशन बिल्डर

शेड्यूल्ड टास्कसाठी cron एक्स्प्रेशन तयार करा, पडताळा आणि समजावून सांगा. लाइव्ह सोप्या-इंग्रजीतील वर्णन, पुढील-5-रन पूर्वावलोकन आणि सामान्य पॅटर्न प्रीसेट.

एकदा लोड झाल्यावर ऑफलाइन काम करते
मिनिट
(0-59)
तास
(0-23)
दिवस
(1-31)
महिना
(1-12)
आठवड्याचा दिवस
(0-7)

सोप्या भाषेत

९:०० AM वाजता, सोमवार ते शुक्रवार.

सामान्य पॅटर्न

स्टँडर्ड Unix cron, GitHub Actions, Kubernetes CronJob आणि बहुतेक शेड्युलिंग सिस्टमशी सुसंगत. 'प्रत्येक'साठी *, 'दर 5'साठी */5, रेंजसाठी 1-5, विशिष्ट मूल्यांसाठी 1,15 वापरा. @hourly, @daily, @weekly, @monthly, @yearly, आणि MON-FRI किंवा JAN-DEC सारखी नावेही स्वीकारते.

हे कसे कार्य करते

cron expression बिल्डर lib/cron.ts मधील गराज-लिहिलेल्या पार्सरचा वापर करून पूर्णपणे तुमच्या ब्राउझरमध्ये चालतो — बाह्य लायब्ररी, सर्व्हर कॉल नाही. तो expression प्रमाणित करतो, locale-aware दिवस आणि महिना नावांसाठी ब्राउझरचे बिल्ट-इन Intl.DateTimeFormat आणि Intl.ListFormat API वापरून साधे-इंग्रजी वर्णन एकत्र करतो, आणि प्रत्येक मिनिट brute-force करण्याऐवजी field-skipping तर्कशास्त्रासह वेळेत पुढे चालून पुढील नियोजित चालण्याच्या वेळा मोजतो.

  1. 1
    Expression field-by-field पार्स केले
    पार्सर expression ला पाच (किंवा सहा) whitespace-delimited फील्ड्समध्ये विभागतो आणि प्रत्येकाला स्वल्पविराम, श्रेणी (उदा. 1-5), step notation (उदा. */15), आणि MON किंवा JAN सारखी नामांकित मूल्ये यासाठी tokenize करतो. @daily सारखे @macros पार्सिंग सुरू होण्यापूर्वी त्यांच्या पाच-फील्ड समतुल्यांमध्ये विस्तारित केले जातात. अवैध मूल्ये किंवा श्रेणीबाहेरील संख्या स्थानिकीकृत संदेशांशी मॅप होणाऱ्या typed error keys म्हणून दिसतात.
  2. 2
    मानव-वाचनीय वर्णन एकत्र केले
    lib/cron.ts मधील describeCron() कोणते फील्ड्स wildcards आहेत आणि कोणते स्पष्ट सेट्स आहेत ते तपासून इंग्रजी (किंवा स्थानिकीकृत) वाक्य तयार करते. दिवस आणि महिन्यांची नावे सक्रिय locale सह Intl.DateTimeFormat द्वारे शोधली जातात, आणि यादी घटक Intl.ListFormat वापरून जोडले जातात त्यामुळे संयोजक ('and' vs ',' vs locale-specific स्वरूप) वापरकर्त्याच्या भाषेशी जुळतो.
  3. 3
    पुढील चालण्याच्या वेळा field skipping सह मोजल्या
    nextRuns() Date ऑब्जेक्टला सध्याच्या क्षणापासून पुढे नेतो, पण प्रत्येक मिनिट तपासण्याऐवजी जुळू न शकणारे संपूर्ण महिने, दिवस किंवा तास वगळतो. याचा अर्थ Feb 30 सारखे अशक्य शेड्यूल 2.6 दशलक्ष वेळा लूप करण्याऐवजी पाच-वर्षांच्या क्षितिज तपासणीतून त्वरित बाहेर पडते.
  4. 4
    Expression URL fragment द्वारे शेअर केले
    तुम्ही टाइप केलेला कोणताही expression पेजच्या URL fragment मध्ये #expr= म्हणून लिहिला जातो (window.history.replaceState द्वारे 500 ms debounced). Fragment कधीही सर्व्हरला पाठवले जात नाही; पेज लोडवर त्यातून hydrate होते, त्यामुळे URL शेअर किंवा बुकमार्क केल्याने कोणत्याही सर्व्हर स्थितीशिवाय नेमके expression पुनर्संचयित होते.

संबंधित साधने

वारंवार विचारले जाणारे प्रश्न