Время и правила расписания
Обязательные поля создания: script_id, name, kind, timezone. Настройки времени находятся в preset. После создания сценарий расписания не меняется: для другого сценария создайте другое расписание.
| kind | Пример preset | Когда работает |
|---|---|---|
interval |
{"every_minutes":30} |
Каждые полчаса |
daily |
{"time":"00:00"} |
Ежедневно в полночь |
weekly |
{"time":"09:00","weekdays":[1,3,5]} |
Понедельник, среда, пятница |
monthly |
{"time":"09:00","days":[1,15]} |
1-го и 15-го числа |
cron |
{"cron":"0 2,12 * * *"} |
В 02:00 и 12:00 ежедневно |
Дни недели: 0: воскресенье, 6: суббота. Для месячного расписания 31-е число не существует в каждом месяце. Для интервала больше часа используйте значение, кратное 60 минутам. Cron привязан к календарю, это не таймер «через N минут после окончания».
Предпросмотр
POST /api/v1/schedules/preview принимает настройки времени и возвращает ближайшие срабатывания. Всегда проверяйте результат, особенно при изменении часового пояса или переходе на летнее время. Europe/Moscow задаётся явно; часовой пояс компьютера не заменяет это поле.
Наложение запусков
overlap_policy:
skip: пропустить, если предыдущий прогон ещё выполняется;queue: поставить очередной запуск в очередь;cancel_previous: остановить предыдущий и запустить новый.
Окно выполнения: window_start и window_end в формате ЧЧ:ММ. jitter_seconds добавляет случайный сдвиг, до 1800 секунд в стандартной конфигурации. params передаёт параметры сценарию.
is_active: false отключает расписание. Команды /pause и /resume управляют паузой. История /events объясняет фактическое решение планировщика: запуск, пропуск или отказ. Лимиты и недоступный агент могут помешать старту даже при правильном выражении.
Политика повторов
retry_policy: "inherit"(умолчание): сохранить настройки сайта и общий backoff.retry_policy: "never": не назначать автоматические повторы.retry_policy: "transient": повторять только временные сбои; обязательныretry_limit(1–5 дополнительных попыток) иretry_delay_seconds(60–86400).
Пробный запуск, постоянная или неизвестная ошибка не повторяются. Выключенное
расписание не назначает новых повторов, но уже поставленные в очередь не отменяет.
timezone_city (до 120 символов) это необязательная подпись города; обязательная
IANA-зона timezone определяет расчёт. Время не вычисляется из названия города.
GET /api/v1/schedules/{schedule} возвращает recent_runs (до 5), active_run,
preview (до 5 дат) и server_time. Это снимок: повторяйте GET для актуального
состояния. Статус running относится к реальному исполнению, а не к факту
диспетчеризации. В v2 и UUID-режиме вложенные ID запусков также являются UUID;
в v1 без заголовка они остаются числами.