Парсер cron-выражений
Вставьте cron-выражение и получите объяснение простым языком, а также предпросмотр следующих 5 запусков.
Стандартный 5-полевой формат: минута час день-месяца месяц день-недели.
5 полей
Минута, час, день месяца, месяц, день недели.
* означает «любое значение». */5 означает «каждые 5 единиц». 1-5 — диапазон. 1,3,5 — список. День недели от 0 (воскресенье) до 6 (суббота).
Быстрый пример
*/15 9-17 * * 1-5 означает «каждые 15 минут, с 9:00 до 17:00, с понедельника по пятницу». Попробуйте выпадающий список готовых вариантов для других частых расписаний.
Как это работает
Парсер разбивает ваше выражение на 5 полей и разворачивает каждое в явный набор допустимых значений: */15 в поле минут превращается в набор {0, 15, 30, 45}, 1-5 в дне недели превращается в {1, 2, 3, 4, 5}, а списки вроде 1,3,5 объединяются. Каждое значение проверяется на диапазон при разворачивании, поэтому опечатка вроде 61 * * * * сразу выдаёт ошибку с указанием конкретного поля и ожидаемого диапазона, вместо того чтобы незаметно создать расписание, которое никогда не сработает.
Список «следующие 5 запусков» вычисляется методом перебора, и это преимущество: начиная со следующей целой минуты, код продвигается на минуту за раз (до года вперёд, около 527 000 проверок, что занимает несколько миллисекунд) и проверяет каждую кандидатную минуту на соответствие развёрнутым наборам. Полезный побочный эффект симуляции вместо вычисления: синтаксически корректные, но никогда не срабатывающие выражения, например 0 0 30 2 * (30 февраля), не считаются ошибкой — они просто возвращают «подходящий запуск не найден в течение следующего года». Если вы видите это сообщение, значит ваше выражение разбирается корректно, но описывает дату, которая не существует или отстоит более чем на год.
Все вычисления дат используют объект Date браузера в вашем местном часовом поясе, и всё это работает в JavaScript этой страницы. Проверьте вкладку Network в DevTools: при вводе выражения не отправляется ни одного запроса, поэтому ничего о расписаниях вашей инфраструктуры не покидает ваш компьютер.