worker_shutdown_timeout
Устанавливает тайм-аут для плавного завершения рабочих процессов в NGINX. — NGINX Core
Описание
Директива `worker_shutdown_timeout` в NGINX задаёт длительность (в миллисекундах), в течение которой NGINX будет ожидать плавного завершения рабочих процессов после получения сигнала завершения. Это позволяет рабочим процессам завершить выполняющиеся запросы и освободить ресурсы до принудительного завершения. Это особенно полезно в сценариях, где длительные соединения или большие запросы могут требовать дополнительного времени для завершения обработки. Если рабочий процесс не завершит свои операции в заданный период ожидания, NGINX принудительно завершит эти процессы. Установка слишком низкого значения может привести к прерыванию активных запросов, что повлечёт за собой потенциальную потерю данных или неполные транзакции. Напротив, слишком большое значение может задержать перезапуск или остановку приложения, что повлияет на доступность сервиса во время обслуживания или обновлений. На практике внимательный выбор этого параметра позволяет сбалансировать непрерывность обслуживания и эффективное управление ресурсами при обновлениях или плавных перезапусках.
Пример конфига
worker_shutdown_timeout 30000; # Set a 30 seconds timeout for worker shutdown
Установка слишком малого таймаута может привести к ненормальному завершению активных запросов.
Если не задать эту директиву, может использоваться значение таймаута по умолчанию, которое может не подойти всем приложениям.