Вежливая остановка
Плавня 1.1.6 · документация разработчика
Содержание главы
- Сигналы
- Дедлайн
- Что происходит с задачей
Сигналы
На SIGTERM/SIGINT Плавня прекращает забирать новые задачи, даёт работающим
grace (по умолчанию 30 с), затем посылает SIGKILL воркеру, если
задача не остановилась сама.
Дедлайн
Каждая задача получает дедлайн контекста = оставшийся grace. Долгие задачи
должны уважать ctx.Done() — иначе будут убиты жёстко, и их статус
станет failed(interrupted) с пометкой.
Что происходит с задачей
| Момент остановки | Статус | Дальше |
|---|---|---|
| не началась | new | возьмётся следующим воркером |
| завершилась в grace | done/failed | обычный путь |
| убита по дедлайну | failed(interrupted) | ретрай по политике |
Примечание.
systemctl stop передаёт SIGTERM —
этого достаточно. SIGKILL воркеру идёт только от самого процесса очереди.