Парсер выражений cron

Разберите расписание cron на простые поля и посмотрите время ближайших запусков прямо в браузере.

Выражение cron

Ближайшие запуски

(ваше местное время)

Введите выражение cron для его расшифровки.

Выражение cron анализируется прямо в вашем браузере. Данные не отправляются на BroBroGo.

Частые вопросы

Какой синтаксис cron поддерживает этот инструмент?

Стандартный cron с 5 полями: минута, час, день месяца, месяц и день недели. Поддерживаются диапазоны (1-5), шаги (*/15), списки (1,15), названия месяцев и дней недели (JAN, MON), а также сокращения вроде @yearly, @monthly, @weekly, @daily, @hourly. Важное правило: если ограничены и день месяца, и день недели (не равны *), то для запуска достаточно совпадения по любому из этих полей.

В каком часовом поясе отображается время следующих запусков?

Используется локальный часовой пояс вашего браузера (тот же, что и на вашем компьютере). Стандартный формат cron не содержит информации о часовом поясе — его определяет планировщик задач, на котором запускается скрипт. Относитесь к этим результатам как к превью для вашего локального времени.

Почему инструмент сообщает, что это расписание никогда не выполнится?

Обычно это связано с указанием дня месяца, который существует не во всех выбранных месяцах. Например, если в поле дня указано 31, а в поле месяца — апрель, июнь, сентябрь или ноябрь. Выберите день, который есть во всех перечисленных месяцах, или разделите расписание на несколько отдельных выражений.

Принципы работы планировщика cron и разбор выражений

Планировщик задач cron использует текстовый формат для задания расписания периодических процессов. Стандартное выражение состоит из пяти полей, разделенных пробелами, где каждое поле определяет конкретный временной интервал запуска. Инструмент «Парсер выражений cron» принимает на вход одну строку с выражением и разбивает ее на отдельные компоненты, наглядно показывая значение каждого параметра.

Помимо текстовой расшифровки, парсер рассчитывает хронологическую последовательность ближайших срабатываний. Расчет производится на основе системных часов устройства пользователя, а полученные результаты отображаются с учетом локального часового пояса вашего браузера. Это позволяет быстро проверить правильность настройки автоматических скриптов перед их переносом на сервер.

Входные параметры и поддерживаемый синтаксис

Для анализа расписания в интерфейсе предусмотрено текстовое поле «Выражение cron». Инструмент поддерживает классический пятиполевой формат, где позиции распределяются следующим образом: минута, час, день месяца, месяц и день недели. Шестое поле (секунды), а также специфические расширения Quartz (символы L, W, #) не поддерживаются.

В качестве входных данных можно использовать различные типы значений:

  • Одиночные числа: точное совпадение для выбранного временного отрезка.
  • Диапазоны: например, 1-5 для указания промежутка включительно.
  • Шаги: конструкции вида */15 для задания интервалов.
  • Списки: перечисления через запятую, например 1,15.
  • Текстовые имена: сокращенные названия месяцев (например, JAN) и дней недели (например, MON).
  • Специальные сокращения: быстрые шаблоны @yearly, @monthly, @weekly, @daily и @hourly.

Примером сложного корректного ввода является строка */15 9-17 * * MON-FRI. Дополнительно пользователь может настроить поле «Количество», регулирующее число отображаемых будущих запусков в диапазоне от 1 до 20.

Расшифровка полей и логика обработки

После ввода выражения инструмент мгновенно формирует блок «Расшифровка расписания». Каждое из пяти полей получает собственную интерпретацию:

  • Минута: значение первого поля. При использовании шага */n выводится текст «Каждые {n} мин.».
  • Час: значение второго поля. Для шага */n отображается «Каждые {n} ч.».
  • День месяца: значение третьего поля. Для шага */n выводится «Каждые {n} дн.».
  • Месяц: значение четвертого поля. Для шага */n выводится «Каждые {n} мес.».
  • День недели: значение пятого поля. Для шага */n выводится «Каждые {n} дн.».

Если в каком-либо поле указан символ звездочки *, парсер интерпретирует его как «Любой».

При совместном использовании ограничений для дня месяца и дня недели действует стандартное правило cron: если оба поля ограничены (то есть не равны *), то для запуска задачи планировщику достаточно совпадения по любому из этих двух параметров.

Обработка ошибок и исключительных ситуаций

Инструмент валидирует синтаксис в реальном времени. Если текстовое поле очищено, парсер возвращается в исходное состояние и показывает сообщение «Введите выражение cron для его расшифровки».

При обнаружении синтаксических ошибок на экран выводится предупреждение «Некорректное выражение cron».

Существует также класс логических ошибок, когда синтаксис верен, но расписание физически не может быть выполнено. В этом случае парсер выводит сообщение: «Это расписание никогда не выполнится — проверьте, существует ли указанный день месяца во всех выбранных месяцах». Типичный пример такой ситуации — указание 31-го числа для месяцев, в которых содержится только 30 дней или меньше (апрель, июнь, сентябрь, ноябрь, февраль).

Локальное выполнение и конфиденциальность

Анализ введенных данных происходит непосредственно на стороне клиента. Выражение cron анализируется прямо в вашем браузере. Данные не отправляются на BroBroGo. Это исключает передачу параметров конфигурации ваших внутренних систем на сторонние серверы в процессе отладки.

Часто задаваемые вопросы

Какой синтаксис cron поддерживает этот инструмент?
Стандартный cron с 5 полями: минута, час, день месяца, месяц и день недели. Поддерживаются диапазоны (1-5), шаги (*/15), списки (1,15), названия месяцев и дней недели (JAN, MON), а также сокращения вроде @yearly, @monthly, @weekly, @daily, @hourly. Важное правило: если ограничены и день месяца, и день недели (не равны *), то для запуска достаточно совпадения по любому из этих полей.

В каком часовом поясе отображается время следующих запусков?
Используется локальный часовой пояс вашего браузера (тот же, что и на вашем компьютере). Стандартный формат cron не содержит информации о часовом поясе — его определяет планировщик задач, на котором запускается скрипт. Относитесь к этим результатам как к превью для вашего локального времени.

Почему инструмент сообщает, что это расписание никогда не выполнится?
Обычно это связано с указанием дня месяца, который существует не во всех выбранных месяцах. Например, если в поле дня указано 31, а в поле месяца — апрель, июнь, сентябрь или ноябрь. Выберите день, который есть во всех перечисленных месяцах, или разделите расписание на несколько отдельных выражений.