Welcome! Log In Create A New Profile

Advanced

Re: периодическое перезаполнение структур модуля по данным из конфига

Yury Zavarin
April 02, 2010 11:34PM
2010/4/3 Михаил Монашёв <postmaster@softsearch.ru>

> Здравствуйте, Юрий.
>
> YZ> Пишу сейчас модуль к nginx'у. Этот модуль берет из конфига имя
> YZ> файла, из которого он берет какие-то данные и держит их в памяти.
> YZ> Есть необходимость периодически (раз в минуту или раз в пять
> YZ> минут, например) перечитывать этот файл и использовать новые
> YZ> данные (если они поменялись). Само имя файла не меняется.
> YZ>
> YZ> Как правильно это делать?
> YZ> Правильно ли я понимаю, что можно, например, делать так, чтобы
> YZ> поменялась inode'а у конфига и делать nginx reload и при этом все
> YZ> будет хорошо работать? Или лучше использовать какой-то другой
> YZ> вариант? (Вариант проверять при каждом запросе, что подошло время
> YZ> перечитать файл, кажется мне плохим.)
>
> reload каждую минуту не хорошо делать. Накопится много завершающих
> свою работу воркеров. Они будут кушать память.
>
> YZ> И еще один вопрос.
> YZ> В данном случае получается, что каждый воркер будет держать в
> YZ> памяти то, что он прочитал из файла. Пока что это не представляет
> YZ> проблемы, данных не так уж много.
> YZ> Но если все же проблема возникнет, то в какую сторону смотреть? В
> YZ> сторону ngx_shared_memory_add и т. д.?
>
> Вот и ответ на твой первый вопрос: храни свои данные в шаредмеме, а
> обновляй их там другой программой хоть раз в секунду.
>

Угу, наверное. Только средствами самого nginx'а, как выяснилось, этого
добиться не получится: он создает только неименованные (в конечном счете)
области расшаренной памяти, к которой могут обращаться только воркеры и сам
мастер процесс.
Придется напрямую использовать IPC.


>
>
> --
>
> С уважением,
> Михаил Монашёв
> mailto:postmaster@softsearch.ru
> ICQ# 166233339
> http://michael.mindmix.ru/
> Без бэкапа по жизни.
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

периодическое перезаполнение структур модуля по данным из конфига

Yury Zavarin April 02, 2010 01:24PM

Re: периодическое перезаполнение структур модуля по данным из конфига

Михаил Монашёв April 02, 2010 04:42PM

Re: периодическое перезаполнение структур модуля по данным из конфига

Yury Zavarin April 02, 2010 11:34PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 248
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