Files
ave-cms/help/modules/scheduler.md
T
2026-07-27 12:58:44 +03:00

1.8 KiB
Raw Blame History

Планировщик

Модуль scheduler собирает фоновые задачи разных модулей в одном месте. Он не требует CLI: панель показывает защищённый HTTP URL, который можно вызывать из планировщика хостинга раз в минуту.

В разделе Модули → Планировщик доступны расписание, включение задачи, ближайший запуск, ручной запуск и журнал. Cron-выражение состоит из пяти частей: минута час день месяц день-недели. Например, */15 * * * * — каждые 15 минут.

Модуль регистрирует задачу фильтром scheduler.tasks:

public static function tasks(array $payload)
{
    $payload['tasks']['my_module.cleanup'] = array(
        'title' => 'Очистка данных',
        'description' => 'Удаляет устаревшие записи.',
        'module' => 'my_module',
        'cron' => '30 3 * * *',
        'timeout' => 120,
        'handler' => array(Cleanup::class, 'run'),
    );
    return $payload;
}

Обработчик получает task, trigger и run_id. Он может вернуть массив с message и метриками. Параллельный запуск одной задачи блокируется. События scheduler.task.started, scheduler.task.completed и scheduler.task.failed позволяют подключить уведомления или собственный аудит.

После смены секретного URL старый адрес сразу перестаёт работать.