Справочник
Справочник по циферблату
Словарь, легенда, три правила перевода часов и пределы расчёта. Всё, что здесь описано, делает рабочий пример — и ничего сверх этого.
Словарь
- Выражение
- Пять полей через пробел — минута, час, день месяца, месяц, день недели — или макрос вроде @daily. Проверяется классический cron по crontab(5).
- Поле
- Одна из пяти частей выражения. Под полем ввода каждое поле показано отдельным картушем с нормализованным множеством значений.
- Шаг
/nпосле*или диапазона:*/15— 0, 15, 30, 45;10-50/20— 10, 30, 50. Отсчитывается от начала диапазона.- Диапазон
a-bвключительно, начало не больше конца. Имена месяцев и дней недели тоже можно ставить в диапазон:mon-fri.- Фиксированное время / по маске
- Класс задания по Debian cron(8): «по маске», если поле минут или часов начинается с
*или выражение —@hourly; иначе — «фиксированное время». От класса зависит правило «С догоном». - IANA-пояс
- Имя из базы часовых поясов, например
Europe/Berlin. Несёт смещение и правила переводов; принимается любое имя, которое знает ваш браузер. - Смещение
- Разница местного времени с UTC в конкретный момент: в Берлине +02:00 летом и +01:00 зимой.
- Окно
- Промежуток, в котором ищутся запуски: от начала в «поясе окна» до местной полуночи через 1, 7, 14, 21 или 28 календарных дней. Запуск входит, если его момент в UTC попадает в окно.
- Разрыв
- Местное время, которого нет: весной часы перескакивают, например с 02:00 на 03:00.
- Повтор
- Местное время, которое проходит дважды: осенью часы возвращаются, например с 03:00 на 02:00.
- Правило перевода
- Что планировщик делает с запуском в разрыве или повторе. CronLens показывает три: «С догоном», «Пропуск и один раз», «Буквально».
- Пересечение
- Два задания работают одновременно: интервалы [старт; старт + длительность) в UTC накладываются друг на друга.
- Дольше интервала
- Следующий запуск того же задания начинается раньше, чем закончится текущий. Отметка ⟲.
- Горизонт
- Если в окне запусков нет, CronLens ищет следующий на пять лет от начала окна и прямо пишет, если его нет.
- Отпечаток
- SHA-256 канонического JSON с входными данными и результатом. Как пересчитать — в синтаксисе и форматах.
Легенда циферблата
Циферблат — 24-часовые солнечные часы: полдень ☉ вверху, полночь внизу, ход по часовой стрелке. Показывает один день в «поясе циферблата». Смысл никогда не передаётся одним цветом: у кольца есть буква, у метки — символ и слово.
| знак | метка | что значит |
|---|---|---|
| А Б В Г | Кольцо задания | Снаружи внутрь: радиусы 150, 128, 106 и 84 в координатах циферблата. |
| │ | Риска запуска | Радиальная черта в минуту запуска по местным часам циферблата. |
| ◠ | Дуга длительности | Сколько задание работает; хвост после 24:00 обрывается шевроном «→ завтра». |
| ▨ | Разрыв | Сектор, заштрихованный через все кольца, с подписью «02:00–02:59 нет». |
| ↺ | Повтор | Внешний двойной виток за безелем с подписью «02:00–02:59 дважды». Сплошная риска на витке выполняется, контурная — нет. |
| ✕ | Пересечение | Радиальная скобка между дугами двух заданий. |
| ↷ | Догон | Пунктирная стрелка от несуществующего времени к первой минуте после разрыва. |
| ⊘ | Потерян в разрыве | Кружок с чертой на месте несуществующего времени; в ведомости — пунктирная строка без номера. |
| ▦ | Плотный режим | Больше 240 запусков в сутки на кольце: вместо рисок 24 часовых сектора с заливкой по числу запусков и подписью «N/ч». |
| ┄ | Сравнить с UTC | Пунктирное призрачное кольцо: то же выражение выбранного задания, прочитанное в UTC. |
| 1, 2 | Номера замечаний | Мелкие цифры у рисок и в строках ведомости повторяют номера ①②③ из списка замечаний. |
Три правила
Правило выбирается в полосе расчёта; на дне перевода «Разбор минуты» показывает все три рядом. Какое правило действует у вас, решает ваш планировщик.
| правило | разрыв | повтор | каким заданиям | источник |
|---|---|---|---|---|
| С догоном | фиксированное время — ↷ в первую минуту после разрыва; по маске — ⊘ потерян | фиксированное время — один раз, первым прохождением; по маске — дважды, по новым часам | различает классы | cron(8), Debian |
| Пропуск и один раз | ⊘ потерян | один раз, первым прохождением | всем одинаково | EventBridge Scheduler |
| Буквально | ⊘ потерян — несуществующее время не совпадает никогда | дважды: ↺¹ и ↺² | всем одинаково | crontab(5) |
Несколько совпадений из одного разрыва при «С догоном» выполняются в одну и ту же минуту — в ведомости это несколько строк с одним временем.
Классы заданий по Debian cron(8)
Debian cron(8) особо обрабатывает переводы часов меньше чем на три часа, но только для заданий, которые идут в определённое время: не заданных как @hourly и без * в поле часов или минут. Остальные задания идут по новым часам.
CronLens показывает класс на карточке задания: 30 2 * * * — «фиксированное время», */15 1-3 * * * и @hourly — «по маске». Признак — поле минут или часов начинается с *.
Оговорка: cronie cron(8) формулирует класс иначе — «в определённое время или с шагом больше часа». CronLens следует явному правилу Debian, чтобы класс можно было проверить по самому выражению.
Правило ИЛИ
Если ограничены оба поля дня — и день месяца, и день недели, — задание срабатывает в день, когда совпало любое из них. 0 12 1 * 1 с 28.09.2026 даёт 28.09 (пн), 01.10 (чт) и 05.10 (пн).
Поле ограничено, если не начинается со звёздочки. В 0 12 */2 * 1 день месяца начинается с *, поэтому оба условия проверяются вместе — нечётное число и понедельник. «Разбор минуты» пишет, какое из двух полей совпало.
Пределы
| Задания | до 4 — по кольцу на каждое |
|---|---|
| Длительность | от 1 до 1440 минут |
| Окно | 1, 7, 14, 21 или 28 дней |
| Запуски | 2000 на задание в окне; выше — «показаны первые 2000» |
| Плотный режим | больше 240 запусков в сутки на кольце |
| Горизонт поиска | 5 лет от начала окна |
| Файл .ics | до 1000 событий; остальное — в JSON |
| Выражение | до 120 символов |
| Доп. пояса | до 2 в ведомости |
| Строки ведомости | по 100, кнопка «Показать ещё 100» |
Откуда данные о поясах
Смещения и переводы берутся из базы IANA, встроенной в ваш браузер, через стандартный Intl.DateTimeFormat. Если правила пояса недавно изменились, а браузер не обновлён, расчёт может разойтись с настоящими часами. Проверить можно в двух браузерах: разные отпечатки при одинаковых данных — повод заподозрить базу.
Переход ищется шагом 15 минут и уточняется до минуты. Длина суток — разность моментов соседних местных полуночей: например, 1380, 1440 или 1500 минут, а на Лорд-Хау — 1410 и 1470.
Сдвиги больше трёх часов — например, когда территория переходит на другую сторону линии перемены дат, — показываются как разрыв или повтор. «Догон» к ним не применяется, как и в cron(8).