Անցնել հիմնական բովանդակությանը

Cron արտահայտության կառուցիչ անվճար

Կառուցեք, ստուգեք ու բացատրեք cron արտահայտությունները պլանավորված առաջադրանքների: Ուղիղ հայերեն բացատրություն, հաջոր 5 գործարկման նախադիտում ու ընդհանուր ձևանմուշ կանխադրածներ:

Աշխատում է անցանց՝ բեռնվելուց հետո
րոպե
(0-59)
ժամ
(0-23)
օր
(1-31)
ամիս
(1-12)
շաբաթվա օր
(0-7)

Հասկանալի ձևով

09:00 ժամանակներում, Երկուշաբթիից ուրբաթ.

Տարածված ձևեր

Համատեղելի է ստանդարտ Unix cron-ի, GitHub Actions-ի, Kubernetes CronJob-ի և ժամանակագրման մեծ մասի հետ: Օգտագործեք * «ամեն»-ի, */5 «ամեն 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 արտահայտություններըՅուրաքանչյուր պược ցույց է տալիս ակնթարթային անգլերեն բացատրություն և հաջորդ 5 վազքի նախադիտ - cron-ի սովորելու լավագույն միջոցը:

Ինչպես է այն աշխատում

cron արտահայտության կառուցիչը լիովին աշխատում է ձեր դիտարկիչում՝ օգտագործելով ձեռագիր վերլուծիչ lib/cron.ts-ում — ոչ մի արտաքին գրադարան, ոչ մի սերվերային կանչ։ Այն վավերացնում է արտահայտությունը, հավաքում է հասարակ-անգլերեն նկարագրություն՝ օգտագործելով դիտարկիչի ներկառուցված Intl.DateTimeFormat և Intl.ListFormat API-ները՝ տեղանք-զգայուն օրվա և ամսվա անունների համար, և հաշվարկում է հաջորդ ծրագրավորված գործարկման ժամանակները՝ ժամանակի միջով առաջ քայլելով դաշտ-բաց-թողնող տրամաբանությամբ, փոխանակ կոպիտ ուժով փորձելու ամեն րոպեն։

  1. 1
    Արտահայտությունը վերլուծվում է դաշտ առ դաշտ
    Վերլուծիչը արտահայտությունը բաժանում է հինգ (կամ վեց) բացատով բաժանված դաշտերի և նշանագրում է յուրաքանչյուրը ստորակետերի, միջակայքերի (օր.՝ 1-5), քայլային նշագրման (օր.՝ */15) և անվանված արժեքների, ինչպիսիք են MON կամ JAN, համար։ @macro-ները, ինչպիսին է @daily-ն, ընդարձակվում են իրենց հինգ-դաշտային համարժեքների, մինչև վերլուծության սկսելը։ Անվավեր արժեքները կամ տիրույթից դուրս թվերը հայտնվում են որպես տիպավորված սխալի բանալիներ, որոնք քարտեզագրվում են տեղայնացված հաղորդագրությունների։
  2. 2
    Մարդամատչելի նկարագրությունը հավաքվում է
    describeCron()-ը lib/cron.ts-ում կառուցում է անգլերեն (կամ տեղայնացված) նախադասությունը՝ ստուգելով, թե որ դաշտերն են ունիվերսալ նշաններ, և որոնք են հստակ հավաքածուներ։ Օրվա և ամսվա անունները լուծվում են Intl.DateTimeFormat-ով ակտիվ տեղանքով, և ցանկի իրերը միանում են Intl.ListFormat-ով, որպեսզի շաղկապը («և»-ը ընդդեմ «,»-ի ընդդեմ տեղանք-հատուկ ձևի) համապատասխանի օգտագործողի լեզվին։
  3. 3
    Հաջորդ գործարկման ժամանակները հաշվարկվում են դաշտ-բաց-թողնումով
    nextRuns()-ը Date օբյեկտն առաջ է քայլում ընթացիկ պահից, բայց ամբողջովին բաց է թողնում ամիսները, օրերը կամ ժամերը, որոնք չեն կարող համընկնել, փոխանակ ամեն րոպեն փորձելու։ Սա նշանակում է, որ անհնարին ժամանակացույցը, ինչպիսին է փետրվարի 30-ը, արագ ավարտվում է հինգ-տարվա հորիզոնի ստուգմամբ, փոխանակ 2.6 միլիոն անգամ կրկնվելու։
  4. 4
    Արտահայտությունը կիսվում է URL հատվածի միջոցով
    Ցանկացած արտահայտություն, որ մուտքագրում եք, գրվում է էջի URL հատվածում որպես #expr= (500 մվ ուշացումով window.history.replaceState-ով)։ Հատվածը երբեք չի ուղարկվում սերվեր. էջը հիդրատվում է դրանից բեռնման ժամանակ, ուստի URL-ով կիսվելը կամ էջանշելը վերականգնում է ուղիղ արտահայտությունը՝ առանց սերվերային վիճակի։

Առնչվող գործիքներ

Հաճախակի տրվող հարցեր