Maxim Dounin
November 29, 2010 07:32AM
Hello!

On Mon, Nov 29, 2010 at 06:50:36AM -0500, vadlm wrote:

> Есть модуль, принимает запрос,
> обрабатывает, пишет в файл и выдает
> ответ.
> Все хорошо, но на файл ставится ЛОК.
> Соответственно пока лок стоит, другие
> воркеры с этим файликом уже не
> поработают и ждут его разлочки, а т.к.
> после записи в файл идет формирование
> ответа, то получаем "паразитную"
> синхронизацию воркеров. Как-то так, не
> уверен, что правильно понимаю работу
> воркеров.
>
> Появилась мысль - каждому воркеру по
> своему файлу (пост-обработкой потом
> склею). Так вот как узнать номер
> воркера, что бы по этому номеру
> открывать соответст. файл? можно
> конечно через pid формировать имя файла -
> но это не совсем удобно.

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

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

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

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

vadlm November 29, 2010 06:50AM

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

Maxim Dounin November 29, 2010 07:32AM

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

vadlm November 29, 2010 01:00PM

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

Anton Yuzhaninov November 29, 2010 01:06PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 311
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready