Перейти к содержанию

Планирование Задач

Ordinaut предоставляет гибкую и мощную систему планирования, которая поддерживает несколько методов определения времени выполнения задачи.


Планирование с помощью RRULE

Для наиболее сложного, учитывающего календарь, планирования Ordinaut использует мощный стандарт RFC 5545 Recurrence Rule (RRULE).

Установите schedule_kind в rrule, чтобы использовать этот метод.

Распространенные примеры RRULE

Сценарий использования Выражение RRULE
Каждый будний день в 8:30 FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=8;BYMINUTE=30
В последнюю пятницу каждого месяца в 17:00 FREQ=MONTHLY;BYDAY=FR;BYSETPOS=-1;BYHOUR=17
Ежегодно 15 июня FREQ=YEARLY;BYMONTH=6;BYMONTHDAY=15

Часовые пояса и летнее время (DST)

Обработка RRULE в Ordinaut полностью учитывает часовые пояса. Критически важно указать действительное имя timezone (например, Europe/Chisinau).


Планирование с помощью Cron

Для традиционного планирования по времени Ordinaut поддерживает стандартные 5-полевые выражения cron.

Установите schedule_kind в cron, чтобы использовать этот метод.

Формат выражения Cron

минута час день_месяца месяц день_недели

Пример задачи Cron

{
  "title": "Ежечасная очистка системы",
  "schedule_kind": "cron",
  "schedule_expr": "0 * * * *",
  "timezone": "UTC",
  "payload": { ... }
}

Однократное планирование (once)

Чтобы запланировать задачу на однократное выполнение в определенное время в будущем, используйте once.

Формат выражения once

schedule_expr должен быть временной меткой в формате ISO 8601.

Пример однократной задачи

{
  "title": "Развертывание новой функции",
  "schedule_kind": "once",
  "schedule_expr": "2025-12-25T09:00:00+02:00",
  "timezone": "Europe/Chisinau",
  "payload": { ... }
}