Re: Как узнать номер worker из модуля
Maxim Dounin
mdounin на mdounin.ru
Пн Ноя 29 15:31:34 MSK 2010
Hello!
On Mon, Nov 29, 2010 at 06:50:36AM -0500, vadlm wrote:
> Есть модуль, принимает запрос,
> обрабатывает, пишет в файл и выдает
> ответ.
> Все хорошо, но на файл ставится ЛОК.
> Соответственно пока лок стоит, другие
> воркеры с этим файликом уже не
> поработают и ждут его разлочки, а т.к.
> после записи в файл идет формирование
> ответа, то получаем "паразитную"
> синхронизацию воркеров. Как-то так, не
> уверен, что правильно понимаю работу
> воркеров.
>
> Появилась мысль - каждому воркеру по
> своему файлу (пост-обработкой потом
> склею). Так вот как узнать номер
> воркера, что бы по этому номеру
> открывать соответст. файл? можно
> конечно через pid формировать имя файла -
> но это не совсем удобно.
pid - это единственный возможный вариант, т.к. скажем после SIGHUP
запускается новый комплект воркеров (при ещё работающих старых).
Хотя я бы в данном случае скорее рекомендовал смотреть в сторону
O_APPEND (собственно, именно так nginx пишет логи). Ну или просто
писать нужные данные в логи через переменную.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru