Re: Как узнать номер worker из модуля

vadlm nginx-forum на nginx.us
Пн Ноя 29 21:00:12 MSK 2010


> > Все хорошо, но на файл ставится ЛОК.
> > Соответственно пока лок стоит,
другие
> > воркеры с этим файликом уже не
> > поработают

> pid - это единственный
> возможный вариант, т.к.
> скажем после SIGHUP 
> запускается новый комплект
> воркеров (при ещё
> работающих старых).

В целом понятно. Как один из вариантов
пойдет. Со склеиванием будет чуть
больше проблем.

> Хотя я бы в данном случае скорее
рекомендовал смотреть в сторону  O_APPEND
(собственно, именно
> так nginx пишет логи).  

Посмотрел я как пишутся логи. Если
конечно правильно понял. Открывается
файлик (в конечном итоге все тот же open c
O_APPEND и O_WRONLY), а затем все тот же write. Без
локов и т.п. И "каши" из данных не
случается? Т.е. не получиться так, что
разные процессы начнут писать в файли
одновременно? Или это на уровне системы
решается? Простите, не особо силен в
этом вопросе, поэтому и сделал
"подстраховку" в виде обрамления
файл-лок. Нужна ли она в таком случае,
ибо у меня в сущности тот же код работы
с файлами логов.

> Ну или просто  писать нужные данные в
логи через переменную.

А вот тут немного не понял. что за
переменная? В смысле - писать через
"стандартный" nginx механизм логов? Пару
слов, если можно, как писать.

Есть еще мысль сделать что-то вроде
предварительного буфера на 1000 строк к
примеру. И в него загонять лог, и по
заполнении сливать в файл. Но имеет ли
смысл подобное извращение?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,154047,154183#msg-154183




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