Preskočiť na hlavný obsah

Tvorca cron výrazov zadarmo

Vytvárajte, validujte a vysvetľujte cron výrazy pre plánované úlohy. Živý popis v bežnom jazyku, náhľad nasledujúcich 5 spustení a prednastavenia bežných vzorov.

Po načítaní funguje offline
minúta
(0-59)
hodina
(0-23)
deň
(1-31)
mesiac
(1-12)
deň v týždni
(0-7)

V bežnej reči

V 09:00, Pondelok až piatok.

Bežné vzory

Kompatibilné so štandardným Unix cron, GitHub Actions, Kubernetes CronJob a väčšinou plánovacích systémov. Použite * pre „každý", */5 pre „každý 5.", 1-5 pre rozsahy, 1,15 pre konkrétne hodnoty. Tiež akceptuje @hourly, @daily, @weekly, @monthly, @yearly a mená ako MON-FRI alebo JAN-DEC.

Bežné použitia

  • Zostavenie Cron pre GitHub Actions pracovné tokyGitHub Actions používa cron syntax pre naplánované pracovné toky. Zostavte a overte svoj harmonogram tu.
  • Zostavenie Cron pre Kubernetes CronJobsZdroje Kubernetes CronJob používajú štandardnú cron syntax. Zostav a vysvetli výraz vizuálne.
  • Zostavenie položiek Cron pre Linux crontabZostav výrazy pre tradičný Unix cron (cron, crontab -e) s dôverou.
  • Plánovanie údržbových úloh databázyNaplánujte úlohy zálohování, vakua alebo analýzy s dôverou pomocou cron výrazov.
  • Naučte sa, ako fungujú výrazy CronKaždá úprava pokazuje okamžité vysvetlenie v angličtine a náhľad nasledujúcich 5 spustení — najlepší spôsob, ako sa naučiť cron.

Ako to funguje

Nástroj na zostavovanie cron výrazov beží výhradne vo vašom prehliadači pomocou ručne napísaného parseru v lib/cron.ts — bez externej knižnice, bez volania servera. Overuje výraz, zostavuje bežný textový popis pomocou vstavaných API Intl.DateTimeFormat a Intl.ListFormat prehliadača pre lokalizované názvy dní a mesiacov, a počíta ďalšie naplánované časy spustenia postupom vpred v čase s logikou preskakovania polí namiesto testovania hrubou silou každej minúty.

  1. 1
    Výraz spracovaný pole po poli
    Parser rozdelí výraz na päť (alebo šesť) polí oddelených bielymi znakmi a tokenizuje každé z nich pre čiarky, rozsahy (napr. 1-5), krokovú notáciu (napr. */15) a pomenované hodnoty ako MON alebo JAN. Makrá @ ako @daily sa pred spracovaním rozbalia na ich päťpoľové ekvivalenty. Neplatné hodnoty alebo čísla mimo rozsahu sa prejavia ako typované kľúče chýb, ktoré sa mapujú na lokalizované správy.
  2. 2
    Zostavený zrozumiteľný popis
    describeCron() v lib/cron.ts zostavuje anglickú (alebo lokalizovanú) vetu preskúmaním, ktoré polia sú zástupné znaky a ktoré sú explicitné množiny. Názvy dní a mesiacov sa vyhľadávajú cez Intl.DateTimeFormat s aktívnou lokalitou a položky zoznamu sa spájajú pomocou Intl.ListFormat, takže spojka („a“ vs „,“ vs lokálne špecifický tvar) zodpovedá jazyku používateľa.
  3. 3
    Ďalšie časy spustenia počítané s preskakovaním polí
    nextRuns() posúva objekt Date vpred od aktuálneho okamihu, ale preskakuje celé mesiace, dni alebo hodiny, ktoré nemôžu vyhovovať, namiesto testovania každej minúty. To znamená, že nemožný harmonogram ako 30. február sa rýchlo ukončí prostredníctvom päťročnej kontroly horizontu namiesto opakovania 2,6 milióna krát.
  4. 4
    Výraz zdieľaný cez fragment URL
    Akýkoľvek výraz, ktorý napíšete, sa zapíše do fragmentu URL stránky ako #expr= (s oneskorením 500 ms cez window.history.replaceState). Fragment sa nikdy neposiela na server; stránka sa z neho pri načítaní hydratuje, takže zdieľanie alebo uloženie URL medzi záložky obnoví presný výraz bez akéhokoľvek stavu na serveri.

Súvisiace nástroje

Často kladené otázky