Планировщик задач

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

Задачи привязаны к конкретному игровому серверу и находятся на вкладке «Планировщик задач» на его странице.

Создание задачи

Откройте страницу игрового сервера → вкладка «Планировщик задач»«Новое задание».

Поле Описание
Название Необязательное, до 128 символов. Помогает различать задачи в списке
Команда Что делать: запуск, остановка, перезапуск, обновление или переустановка
Дата Когда выполнить задачу впервые
Часовой пояс Пояс, в котором трактуется расписание. По умолчанию UTC
Повтор Один раз, бесконечно или заданное число раз
Период повтора Интервал между запусками. Минимум 10 минут

Доступные команды — те же, что и кнопки управления сервером: start, stop, restart, update, reinstall.

Часовой пояс

Если пояс не задан, расписание считается в UTC. Указывайте пояс, если задача должна срабатывать в определённое местное время, — иначе после перехода на летнее время задача сместится относительно ожидаемого часа.

Дополнительные настройки

Блок «Дополнительно» задаёт поведение в двух нештатных ситуациях.

Поведение при наложении

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

Значение Поведение
Пропустить новый запуск Пропустить тик. Значение по умолчанию
Добавить в очередь Выполнить сразу после завершения текущего запуска

Пропуск подходит для задач, которые не обязаны выполниться каждый раз, — например регулярного обновления. Очередь имеет смысл, когда важен каждый запуск.

Поведение при пропуске

Что делать с запусками, которые пришлись на время, когда демон был недоступен.

Значение Поведение
Пропустить пропущенное Отбросить всё, что пропущено. Значение по умолчанию
Запустить один раз Объединить все пропущенные слоты в один запуск

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

Включение и отключение

У задачи есть переключатель «Активно». Отключённая задача остаётся в списке со статусом «Приостановлено» и не выполняется. Это удобнее удаления, когда задача нужна временно не активной.

История запусков

Кнопка «История запусков» показывает, что происходило с задачей.

Статус Что означает
running Выполняется прямо сейчас
success Выполнена успешно
failed Завершилась с ошибкой, причина в сообщении об ошибке
canceled Отменена
skipped Пропущена по политике наложения или пропуска
timed_out Превышено время выполнения

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

Через API история доступна запросом:

GET /api/servers/{server}/tasks/{id}/executions

Задачи демона

Планировщик создаёт задачи демона — те самые, что видны в «Администрирование»«GDaemon задания». Там же выполняются задачи, созданные вручную: запуск сервера кнопкой, установка, обновление.

Зависшую или ненужную задачу можно отменить: откройте её и нажмите «Отменить». Через API:

POST /api/gdaemon_tasks/{id}/cancel

Отмена помогает, когда задача застряла в ожидании — например, потому что демон был недоступен в момент её создания. Панель периодически сама помечает зависшие задачи: интервал проверки и порог задаются переменными TASK_REAPER_INTERVAL и TASK_REAPER_STALE_THRESHOLD, см. Справочник config.env.

Права доступа

Для работы с планировщиком пользователю нужно право game-server-tasks на этот сервер, см. Пользователи, роли и права.

Задачи плагинов

Плагины могут регистрировать собственные периодические задачи — они не относятся к игровым серверам и в этом разделе не отображаются. Ограничения на них задаются переменными PLUGIN_SCHEDULER_*, см. Справочник config.env.