Перайсці да асноўнага зместу
LibraTool logoLibraTool

Канструктар выразаў 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.

Тыповыя выкарыстанні

  • Пабудаваць Cron для GitHub Actions рабоцыGitHub Actions выкарыстоўвае cron сінтаксіс для запланаваных рабоцы. Пабудуйце і паверьце ваш графік тут.
  • Пабудаваць Cron для Kubernetes CronJobsKubernetes CronJob рэсурсы выкарыстоўваюць стандартны cron сінтаксіс. Пабудуйце і растлумачыце выраз візуальна.
  • Пабудаваць Cron запісы для Linux crontabПабудуйце выразы для традыцыйнага Unix cron (cron, crontab -e) з упэўненасцю.
  • Запланаваць работы тэхнічнага абслужывання БДЗапланаваць резервовую копію, вакуум, ці аналіз работы з упэўненасцю, выкарыстоўваючы cron выразы.
  • Вывучайце, як работаюць Cron выразыКожны змен паказывае неадкладную растлумаченне яснай англійскай мовай і папярэджанне наступных 5 запусцяў — лепшы спосаб вывучыць cron.

Як гэта працуе

Пабудавальнік cron-выразаў працуе цалкам у вашым браўзеры з дапамогай уласнаручна напісанага разборшчыка ў lib/cron.ts — без знешняй бібліятэкі, без выкліку сервера. Ён правярае выраз, збірае апісанне на звычайнай мове з дапамогай убудаваных у браўзер API Intl.DateTimeFormat і Intl.ListFormat для чуйных да лакалі назваў дзён і месяцаў, і вылічвае наступныя запланаваныя часы запуску, праходзячы наперад па часе з логікай прапуску палёў, а не поўным перабіраннем кожнай хвіліны.

  1. 1
    Выраз разбіраецца поле за полем
    Разборшчык разбівае выраз на пяць (ці шэсць) палёў, раздзеленых прабеламі, і такенізуе кожнае з іх на коскі, дыяпазоны (напрыклад, 1-5), запіс кроку (напрыклад, */15) і названыя значэнні, як MON ці JAN. @макросы, як @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 аднаўляе дакладны выраз без якога-небудзь стану сервера.

Звязаныя інструменты

Часта задаюць пытанні