Preskoči na glavno vsebino

Gradnik izrazov Cron — brezplačno

Gradite, preverjajte in razlagajte izraze cron za načrtovane naloge. Živi opis v razumljivem jeziku, predogled naslednjih 5 zagonov in prednastavitve pogostih vzorcev.

Deluje brez povezave po nalaganju
minuta
(0-59)
ura
(0-23)
dan
(1-31)
mesec
(1-12)
dan v tednu
(0-7)

V preprostem jeziku

V 09:00, Ponedeljek do petek.

Pogosti vzorci

Združljivo s standardnim Unix cron, GitHub Actions, Kubernetes CronJob in večino sistemov razporejanja. Uporabite * za 'vsak', */5 za 'vsakih 5', 1-5 za obsege, 1,15 za določene vrednosti. Prav tako sprejema @hourly, @daily, @weekly, @monthly, @yearly in imena kot MON-FRI ali JAN-DEC.

Pogosta področja uporabe

  • Oblikovanje Crona za GitHub Actions delovne tokoveGitHub Actions uporablja cron sintakso za načrtovane delovne tokove. Tukaj oblikovajte in preverite svoj urnik.
  • Oblikovanje Crona za Kubernetes CronJobsViri Kubernetes CronJob uporabljajo standardno cron sintakso. Oblikovajte in razložite izraz vizualno.
  • Oblikovanje Cron vnosov za Linux crontabOblikujte izraze za tradicionalni Unix cron (cron, crontab -e) z zaupanjem.
  • Načrtovanje opravil vzdrževanja baze podatkovNačrtujte varnostne kopije, vakuum ali analizo opravil z zaupanjem z uporabo cron izrazov.
  • Naučite se, kako delujejo izrazi CronVsaka prilagoditev prikaže takojšnjo razlago v angleščini in predogled naslednjih 5 tekov — najboljši način za učenje crona.

Kako deluje

Ustvarjalnik izrazov cron teče v celoti v vašem brskalniku z uporabo ročno napisanega razčlenjevalnika v lib/cron.ts — brez zunanje knjižnice, brez klica strežnika. Preveri izraz, sestavi opis v navadni angleščini z uporabo vgrajenih API-jev Intl.DateTimeFormat in Intl.ListFormat brskalnika za imena dni in mesecev, prilagojena lokalni nastavitvi, in izračuna naslednje razporejene čase zagona s korakanjem naprej skozi čas z logiko preskakovanja polj namesto grobega preizkušanja vsake minute.

  1. 1
    Izraz razčlenjen polje za poljem
    Razčlenjevalnik razdeli izraz na pet (ali šest) polj, ločenih s presledki, in vsakega tokenizira glede na vejice, razpone (npr. 1-5), zapis korakov (npr. */15) in imenovane vrednosti, kot sta MON ali JAN. Makroji @, kot je @daily, se pred razčlenjevanjem razširijo v svoje petpoljne ekvivalente. Neveljavne vrednosti ali števila zunaj razpona se pojavijo kot tipizirani ključi napak, ki se preslikajo na lokalizirana sporočila.
  2. 2
    Sestavljen čitljiv opis
    describeCron() v lib/cron.ts sestavi angleški (ali lokaliziran) stavek s pregledom, katera polja so nadomestni znaki in katera eksplicitni nizi. Imena dni in mesecev se razrešijo prek Intl.DateTimeFormat z aktivno lokalno nastavitvijo, elementi seznama pa se povežejo z uporabo Intl.ListFormat, tako da vezniki ('in' proti ',' proti obliki, specifični za lokalno nastavitev) ustrezajo jeziku uporabnika.
  3. 3
    Naslednji časi zagona, izračunani s preskakovanjem polj
    nextRuns() koraka predmet Date naprej od trenutnega trenutka, vendar preskoči cele mesece, dni ali ure, ki se ne morejo ujemati, namesto preizkušanja vsake minute. To pomeni, da nemogoč urnik, kot je 30. februar, hitro izstopi prek petletnega preverjanja horizonta namesto ponavljanja 2,6 milijona krat.
  4. 4
    Izraz deljen prek fragmenta URL
    Kateri koli izraz, ki ga vnesete, je zapisan v fragment URL strani kot #expr= (z 500 ms zakasnitvijo prek window.history.replaceState). Fragment se nikoli ne pošlje na strežnik; stran se ob nalaganju hidrira iz njega, tako da deljenje ali dodajanje URL-ja med zaznamke obnovi natančen izraz brez stanja na strežniku.

Sorodna orodja

Pogosto zastavljena vprašanja