ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Как узнать номер worker из модуля
  • From: "vadlm" <nginx-forum@xxxxxxxx>
  • Date: Mon, 29 Nov 2010 13:00:12 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=68QHOTIksJQlSyL8nzGWodTbLibw6eG197kzZCeeOp0=; b=LSqn60FP+yJ3TcgWyhynQffK87U7st7lgGnRANRdm6WQenas1poXfiBsW4A20nrMrkdmWoJ3zHQJEqDiF2U6i8QyX7BtgRJYGKqPARmBzFEZSk5Tc2pt68IHc53BixzE;
  • In-reply-to: <20101129123133.GN72777@xxxxxxxxxx>
  • References: <20101129123133.GN72777@xxxxxxxxxx>

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

> 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 mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.