Планирование Задач
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": { ... }
}