Cron-конфигурация
Повторяющиеся задачи используют cron-выражения — стандартный формат описания периодических операций.
Формат cron-выражения
Cron-выражение состоит из 5 полей, разделённых пробелами:
минута час день_месяца месяц день_недели
| Поле | Допустимые значения | Описание |
|---|---|---|
| Минута | 0-59 | Минута часа |
| Час | 0-23 | Час суток |
| День месяца | 1-31 | День месяца |
| Месяц | 1-12 | Месяц года |
| День недели | 0-7 (0 и 7 = воскресенье) | День недели |
Специальные символы
| Символ | Значение | Пример |
|---|---|---|
* | Любое значение | * * * * * — каждую минуту |
*/N | Каждые N единиц | */5 * * * * — каждые 5 минут |
N-M | Диапазон от N до M | 0 9-17 * * * — каждый час с 9 до 17 |
N,M,K | Конкретные значения | 0 9,12,18 * * * — в 9:00, 12:00, 18:00 |
Примеры
При создании задачи доступны быстрые шаблоны:
| Описание | Cron-выражение |
|---|---|
| Каждый час | 0 * * * * |
| Ежедневно в 9:00 | 0 9 * * * |
| Ежедневно в 18:00 | 0 18 * * * |
| Пн-Пт в 9:00 | 0 9 * * 1-5 |
| Каждый понедельник | 0 9 * * 1 |
| 1-го числа месяца | 0 9 1 * * |
Дополнительные примеры
| Описание | Cron-выражение |
|---|---|
| Каждые 30 минут | */30 * * * * |
| По будням в 8:30 | 30 8 * * 1-5 |
| Дважды в день (9:00 и 21:00) | 0 9,21 * * * |
| Каждое воскресенье в полночь | 0 0 * * 0 |
| Каждые 15 минут в рабочие часы | */15 9-18 * * 1-5 |
Часовой пояс
Время в cron-выражении интерпретируется в соответствии с выбранным часовым поясом:
| Часовой пояс | Описание |
|---|---|
UTC | Координированное всемирное время (по умолчанию) |
Europe/Moscow | Москва (UTC+3) |
Europe/London | Лондон (UTC+0 / UTC+1) |
Europe/Berlin | Берлин (UTC+1 / UTC+2) |
America/New_York | Нью-Йорк (UTC-5 / UTC-4) |
America/Los_Angeles | Лос-Анджелес (UTC-8 / UTC-7) |
Asia/Tokyo | Токио (UTC+9) |
Asia/Jerusalem | Иерусалим (UTC+2 / UTC+3) |
Совет
Если ваш бизнес работает по московскому времени, выберите Europe/Moscow. Тогда выражение 0 9 * * * будет запускать задачу в 9:00 по Москве, независимо от перехода на летнее время.
Политика параллельного запуска
Для повторяющихся задач доступна настройка поведения при перекрытии запусков:
| Политика | Описание |
|---|---|
| Пропустить | Если предыдущий запуск ещё выполняется — пропустить текущий цикл (по умолчанию) |
| Разрешить | Запускать параллельно, даже если предыдущий ещё не завершён |
Рекомендация
Для большинства задач используйте «Пропустить» — это предотвращает накопление одновременных запусков при медленном выполнении.