Pāriet uz galveno saturu

Cron izteiksmes veidotājs bez maksas

Veido, validē un skaidro cron izteiksmes plānotajiem uzdevumiem. Tiešraides vienkārša angļu apraksts, nākamo 5 darbināšanu priekšskatījums un izplatītu modeļu iepriekšiestatījumi.

Darbojas bezsaistē pēc ielādes
minūte
(0-59)
stunda
(0-23)
diena
(1-31)
mēnesis
(1-12)
nedēļas diena
(0-7)

Vienkāršā valodā

Laikā 09:00, Pirmdiena līdz piektdiena.

Bieži izmantotie šabloni

Saderīgs ar standarta Unix cron, GitHub Actions, Kubernetes CronJob un lielāko daļu plānošanas sistēmu. Izmantojiet * kā 'katru', */5 kā 'ik pēc 5', 1-5 diapazoniem, 1,15 konkrētām vērtībām. Pieņem arī @hourly, @daily, @weekly, @monthly, @yearly un nosaukumus, piemēram, MON-FRI vai JAN-DEC.

Biežākie lietojumi

  • Veidojiet Cron GitHub Actions darbplūsmāmGitHub Actions izmanto cron sintaksi plānotiem darbplūsmām. Šeit izveidojiet un pārbaudiet savu grafiku.
  • Veidojiet Cron Kubernetes CronJobsKubernetes CronJob resursi izmanto standarta cron sintaksi. Veidojiet un paskaidrojiet izteikumu vizuāli.
  • Veidojiet Cron ierakstus Linux crontabVeidojiet tradicionālā Unix cron (cron, crontab -e) izteikumus ar pārliecību.
  • Ieplānojiet datu bāzes apkopes darbusIeplānojiet rezerves kopijas, vakuuma vai analīzes darbus ar pārliecību, izmantojot cron izteikumus.
  • Uzziniet, kā darbojas Cron izteikumiKatra pielāgošana rāda tūlītēju angļu valodas paskaidrojumu un priekšskatījumu nākamajiem 5 palaišanai — labākais veids, kā iemācīties cron.

Kā tas darbojas

Cron izteiksmes veidotājs darbojas pilnībā jūsu pārlūkprogrammā, izmantojot pašrakstītu parsētāju lib/cron.ts — bez ārējas bibliotēkas, bez servera izsaukuma. Tas validē izteiksmi, saliek vienkāršas valodas aprakstu, izmantojot pārlūkprogrammas iebūvētās Intl.DateTimeFormat un Intl.ListFormat API lokalizācijas informētiem dienu un mēnešu nosaukumiem, un aprēķina nākamos plānotos palaišanas laikus, ejot uz priekšu laikā ar lauku izlaišanas loģiku, nevis brutāli pārbaudot katru minūti.

  1. 1
    Izteiksme parsēta lauks pa laukam
    Parsētājs sadala izteiksmi piecos (vai sešos) ar atstarpi atdalītos laukos un tokenizē katru komatiem, diapazoniem (piemēram, 1-5), soļa apzīmējumam (piemēram, */15) un nosauktām vērtībām, piemēram, MON vai JAN. @makrosi, piemēram, @daily, tiek izvērsti to piecu lauku ekvivalentos pirms parsēšanas sākuma. Nederīgas vērtības vai ārpus diapazona skaitļi parādās kā tipizētas kļūdu atslēgas, kas kartē uz lokalizētiem ziņojumiem.
  2. 2
    Cilvēkam lasāms apraksts salikts
    describeCron() lib/cron.ts veido angļu (vai lokalizēto) teikumu, pārbaudot, kuri lauki ir aizstājējzīmes pretstatā skaidrām kopām. Dienu un mēnešu nosaukumi tiek atrisināti caur Intl.DateTimeFormat ar aktīvo lokalizāciju, un saraksta vienumi tiek savienoti, izmantojot Intl.ListFormat, lai savienojums ('un' pret ',' vai lokalizācijai specifisku formu) atbilstu lietotāja valodai.
  3. 3
    Nākamie palaišanas laiki aprēķināti ar lauku izlaišanu
    nextRuns() virza Date objektu uz priekšu no pašreizējā brīža, bet izlaiž veselus mēnešus, dienas vai stundas, kas nevar atbilst, nevis pārbauda katru minūti. Tas nozīmē, ka neiespējams grafiks, piemēram, 30. februāris, ātri iziet caur piecu gadu horizonta pārbaudi, nevis cikliski atkārtojas 2.6 miljonus reižu.
  4. 4
    Izteiksme koplietota caur URL fragmentu
    Jebkura izteiksme, ko rakstāt, tiek ierakstīta lapas URL fragmentā kā #expr= (ar 500 ms atlikšanu caur window.history.replaceState). Fragments nekad netiek sūtīts uz serveri; lapa no tā hidrē pie ielādes, tāpēc URL koplietošana vai saglabāšana grāmatzīmēs atjauno precīzu izteiksmi bez jebkāda servera stāvokļa.

Saistītie rīki

Bieži uzdotie jautājumi