Планировщик задач
Планировщик выполняет команды над игровым сервером по расписанию: перезапуск ночью, регулярное обновление, остановка на время техобслуживания.
Задачи привязаны к конкретному игровому серверу и находятся на вкладке «Планировщик задач» на его странице.
Создание задачи
Откройте страницу игрового сервера → вкладка «Планировщик задач» → «Новое задание».
| Поле | Описание |
|---|---|
| Название | Необязательное, до 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.