К содержимому

Документация

Время и правила расписания

Обязательные поля создания: 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 без заголовка они остаются числами.