Pereiti prie pagrindinio turinio

Cron išraiškos kūrėjas nemokamai

Kurkite, tikrinkite ir aiškinkite cron išraiškas suplanuotoms užduotims. Gyvasis paprastos anglų kalbos aprašymas, kitų 5 paleidimų peržiūra ir įprastų šablonų nuostatos.

Veikia neprisijungus, kai įkeliama
minutė
(0-59)
valanda
(0-23)
diena
(1-31)
mėnuo
(1-12)
savaitės diena
(0-7)

Paprastai

Laiku 09:00, Nuo pirmadienio iki penktadienio.

Dažni šablonai

Suderinama su standartiniu Unix cron, GitHub Actions, Kubernetes CronJob ir daugeliu planavimo sistemų. Naudokite * kaip 'kiekvieną', */5 kaip 'kas 5', 1-5 diapazonams, 1,15 konkrečioms reikšmėms. Taip pat priima @hourly, @daily, @weekly, @monthly, @yearly ir pavadinimus, tokius kaip MON-FRI arba JAN-DEC.

Dažniausi naudojimo būdai

  • Sukurkite Cron GitHub Actions darbo eigomsGitHub Actions naudoja cron sintaksę suplanuotiems darbo srautams. Čia sukurkite ir patikrinkite savo grafiką.
  • Sukurkite Cron Kubernetes CronJobsKubernetes CronJob ištekliai naudoja standartinę cron sintaksę. Sukurkite ir paaiškinkite išraišką vizualiai.
  • Sukurkite Cron įrašus Linux crontabSukurkite tradiciniu Unix cron (cron, crontab -e) išraiškas su pasitikėjimu.
  • Suplanuokite duomenų bazės priežiūros darbasSuplanuokite atsarginės kopijos, vakuum arba analizės darbas su pasitikėjimu naudodami cron išraiškas.
  • Sužinokite, kaip veikia Cron išraiškosKiekvienas koregavimas pateikia tiesioginį anglų kalbos paaiškinimą ir peržvalgą per 5 tolimesnių bėgimų — geriausias būdas išmokti cron.

Kaip tai veikia

Cron išraiškos kūrėjas veikia visiškai jūsų naršyklėje, naudodamas rankomis parašytą analizatorių lib/cron.ts faile — jokios išorinės bibliotekos, jokio kreipimosi į serverį. Jis patikrina išraišką, sudaro paprasta kalba parašytą aprašymą, naudodamas naršyklės įtaisytus Intl.DateTimeFormat ir Intl.ListFormat API kalbos regionui pritaikytiems dienų ir mėnesių pavadinimams, ir apskaičiuoja kitus suplanuotus vykdymo laikus, žengdamas į priekį per laiką su lauko praleidimo logika, o ne perrenkant kiekvieną minutę.

  1. 1
    Išraiška analizuojama lauk po lauko
    Analizatorius padalija išraišką į penkis (ar šešis) tarpais atskirtus laukus ir kiekvieną iš jų žetonizuoja kableliams, intervalams (pvz., 1-5), žingsnio žymėjimui (pvz., */15) ir vardiniams reikšmėms, tokioms kaip MON ar JAN. @makrokomandos, tokios kaip @daily, prieš analizavimą išplečiamos į savo penkių laukų atitikmenis. Negaliojančios reikšmės ar už ribų esantys skaičiai iškyla kaip tipizuoti klaidų raktai, kurie susieti su lokalizuotais pranešimais.
  2. 2
    Sudaromas žmogui suprantamas aprašymas
    describeCron() funkcija lib/cron.ts faile sudaro angliško (ar lokalizuoto) sakinio tekstą, tikrindama, kurie laukai yra pakaitos simboliai, o kurie — aiškūs rinkiniai. Dienų ir mėnesių pavadinimai nustatomi per Intl.DateTimeFormat su aktyvia kalba, o sąrašo elementai sujungiami naudojant Intl.ListFormat, kad jungtukas ('ir' vs ',' vs kalbai specifinė forma) atitiktų vartotojo kalbą.
  3. 3
    Kito vykdymo laikai apskaičiuojami praleidžiant laukus
    nextRuns() žengia Date objektą į priekį nuo dabartinio momento, tačiau praleidžia ištisus mėnesius, dienas ar valandas, kurios negali atitikti, o ne tikrina kiekvieną minutę. Tai reiškia, kad neįmanomas tvarkaraštis, pvz., vasario 30 d., greitai pasibaigia per penkerių metų horizonto patikrą, o ne cikluoja 2,6 milijono kartų.
  4. 4
    Išraiška bendrinama per URL fragmentą
    Bet kokia jūsų įvesta išraiška įrašoma į puslapio URL fragmentą kaip #expr= (su 500 ms delsa per window.history.replaceState). Fragmentas niekada nesiunčiamas į serverį; puslapis iš jo atkuriamas įkėlimo metu, todėl dalijantis ar įsimenant URL atkuriama tiksli išraiška, be jokios serverio būsenos.

Susiję įrankiai

Dažnai užduodami klausimai