मुख्य सामग्रीमा जानुहोस्
LibraTool logoLibraTool

निःशुल्क Cron एक्सप्रेसन बिल्डर

अनुसूचित कार्यका लागि cron expressions निर्माण, प्रमाणित, र व्याख्या गर्नुहोस्। लाइभ सादा-अंग्रेजी विवरण, अर्को-५-रन प्रिभ्यू, र सामान्य ढाँचा प्रिसेटहरू।

लोड भएपछि अफलाइन काम गर्छ
मिनेट
(0-59)
घण्टा
(0-23)
दिन
(1-31)
महिना
(1-12)
वारदिन
(0-7)

सरल भाषामा

०९:०० मा, सोमबार देखि शुक्रबार.

सामान्य ढाँचाहरू

मानक Unix cron, GitHub Actions, Kubernetes CronJob र अधिकांश तालिका प्रणालीसँग अनुकूल। * भनेको 'हरेक', */5 भनेको 'हर ५', 1-5 भनेको दायरा, 1,15 भनेको विशिष्ट मानहरू। @hourly, @daily, @weekly, @monthly, @yearly, र MON-FRI वा JAN-DEC जस्ता नामहरू पनि स्वीकार गर्दछ।

सामान्य प्रयोगहरू

  • GitHub Actions वर्कफ्लोको लागी Cron बिल्ड गर्नुहोस्GitHub Actions अनुसूचित वर्कफ्लोको लागी cron सिन्ट्याक्स प्रयोग गर्दछ। यहाँ आपको अनुसूची बिल्ड र प्रमाणित गर्नुहोस्।
  • Kubernetes CronJobs को लागी Cron बिल्ड गर्नुहोस्Kubernetes CronJob संसाधनहरु मानक cron सिन्ट्याक्स प्रयोग गर्दछन्। अभिव्यक्तिलाई दृश्यमान रूपमा बिल्ड र व्याख्या गर्नुहोस्।
  • Linux crontab को लागी Cron प्रविष्टि बिल्ड गर्नुहोस्परम्परागत Unix cron (cron, crontab -e) को लागी आत्मविश्वास सहित अभिव्यक्तिहरु बिल्ड गर्नुहोस्।
  • डाटाबेस रखरखाव कार्यहरु अनुसूचित गर्नुहोस्cron अभिव्यक्तिहरु प्रयोग गरी आत्मविश्वास सहित ब्याकअप, भ्याकुम वा विश्लेषण कार्यहरु अनुसूचित गर्नुहोस्।
  • Cron अभिव्यक्तिहरु कसरी काम गर्दछन् भनी सिक्नुहोस्प्रत्येक समायोजन तत्काल सादा-अंग्रेजी व्याख्या र अगिल्लो ५ रन को पूर्वावलोकन देखाउँछ — cron सिक्ने सबै भन्दा राम्रो तरिका।

यो कसरी काम गर्छ

cron एक्सप्रेसन बिल्डर पूर्ण रूपमा तपाईंको ब्राउजरमा lib/cron.ts मा हातले लेखिएको पार्सर प्रयोग गरी चल्छ — कुनै बाह्य लाइब्रेरी छैन, कुनै सर्भर कल छैन। यसले एक्सप्रेसन प्रमाणित गर्छ, लोकेल-अवगत दिन र महिना नामहरूका लागि ब्राउजरको बिल्ट-इन Intl.DateTimeFormat र Intl.ListFormat API प्रयोग गरी सादा-अंग्रेजी विवरण जोड्छ, र हरेक मिनेट ब्रुट-फोर्स गर्नुको सट्टा फिल्ड-छोड्ने लजिकसँग समयमा अगाडि हिँडेर अर्को तालिका बनाइएको रन समय गणना गर्छ।

  1. 1
    एक्सप्रेसन फिल्ड-दर-फिल्ड पार्स गरिन्छ
    पार्सरले एक्सप्रेसनलाई पाँच (वा छ) खाली-ठाउँले छुट्याइएका फिल्डहरूमा विभाजन गर्छ र हरेकलाई अल्पविराम, दायरा (जस्तै 1-5), स्टेप नोटेसन (जस्तै */15), र MON वा JAN जस्ता नामित मानहरूका लागि टोकनाइज गर्छ। @daily जस्ता @macro हरू पार्सिङ सुरु हुनुअघि तिनका पाँच-फिल्ड बराबरमा विस्तार गरिन्छन्। अवैध मान वा दायरा-बाहिरका नम्बरहरू टाइप गरिएका त्रुटि कुञ्जीहरूको रूपमा देखिन्छन् जुन स्थानीयकृत सन्देशहरूमा नक्सा बनाइन्छन्।
  2. 2
    मानव-पढ्न-मिल्ने विवरण जोडिन्छ
    lib/cron.ts मा describeCron() ले कुन फिल्डहरू वाइल्डकार्ड हुन् बनाम स्पष्ट सेट हुन् जाँचेर अंग्रेजी (वा स्थानीयकृत) वाक्य बनाउँछ। दिन र महिना नामहरू सक्रिय लोकेलसहित Intl.DateTimeFormat मार्फत समाधान गरिन्छन्, र सूची वस्तुहरू Intl.ListFormat प्रयोग गरी जोडिन्छन् ताकि संयोजन ('and' बनाम ',' बनाम लोकेल-विशिष्ट रूप) प्रयोगकर्ताको भाषासँग मेल खान्छ।
  3. 3
    फिल्ड-छोड्नेसहित अर्को रन समयहरू गणना गरिएका
    nextRuns() ले हालको क्षणबाट Date अब्जेक्टलाई अगाडि हिँडाउँछ, तर हरेक मिनेट परीक्षण गर्नुको सट्टा मेल नखाने पूरै महिना, दिन, वा घण्टा छोड्छ। यसको अर्थ Feb 30 जस्तो असम्भव तालिका 2.6 मिलियन पटक लुप गर्नुको सट्टा पाँच-वर्षे क्षितिज जाँचमार्फत छिटो बाहिरिन्छ।
  4. 4
    URL फ्र्यागमेन्टमार्फत सेयर गरिएको एक्सप्रेसन
    तपाईंले टाइप गर्नुभएको कुनै पनि एक्सप्रेसन पृष्ठको URL फ्र्यागमेन्टमा #expr= को रूपमा लेखिन्छ (window.history.replaceState मार्फत 500 ms डिबाउन्स गरिएको)। फ्र्यागमेन्ट कहिल्यै सर्भरमा पठाइँदैन; पृष्ठ लोडमा यसबाट हाइड्रेट हुन्छ, त्यसैले URL सेयर वा बुकमार्क गर्दा कुनै सर्भर स्टेट बिना ठ्याक्कै एक्सप्रेसन पुनर्स्थापित हुन्छ।

सम्बन्धित उपकरणहरू

बारम्बार सोधिने प्रश्नहरू