Как в helper-процессе закрыть лишние log-файлы?

Ilya Evseev nginx-forum на forum.nginx.org
Сб Ноя 19 07:46:53 UTC 2016


Имеется плагин, который через fork запускает NGX_PROCESS_HELPER для
выполнения долгой операции. Фоновый процесс иногда не реагирует на "nginx -s
reopen" и продолжает держать открытыми все log-файлы.
Это мешает их ротации и парсингу.

Поэтому в качестве временного решения хотелось бы закрывать log-файлы перед
for ( ;; ) { ngx_process_events_and_timers(cycle); }

Будет рабочим такой код?
https://gist.github.com/ilyaevseev/840338bb44ef061b9ed8ad52f9ec6ff0

Есть ли более оптимальные варианты?
Фоновый процесс пишет логи только вызовами ngx_log_error(NGX_LOG_xx,
ngx_cycle->log, ...)

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271047,271047#msg-271047



Подробная информация о списке рассылки nginx-ru