Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Sun, Jun 02, 2013 at 06:46:54PM -0400, vagner wrote: > > > Максим, спасибо за ответ > > Вот код: > > > https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_f > ilestats_module.c > > И где проблема? > > > Я понял, где сделал изначальную глупость - я попытался реализовать > каунтеры > > в пространстве конфига модуля. Для этого подойдет скорее шаред пул, > как это > > и было сделано у ustats модуля. > > Счётчики в конфиге - должны работать при условии одного рабочего > процесса. Счётчики в разделяемой памяти - дают возможность > считать что-либо в рамках нескольких рабочих процессов. > > > Как вы думаете, мне лучше создать шаред пулы > > для всех листов (ngx_http_filestats_time2size_t.timeouts && > > ngx_http_filestats_loc_conf_t.size2time), а потом связать их общей > > структурой через указатели? > > У меня пока плохо вырисовывается в голове каким образом используя > > ngx_shared_memory_add можно связать все листы и при этом получать > доступ к > > этой памяти из контекста других модулей:( > > Имеет смысл сделать одну зону разделяемой памяти на модуль, и > дальше уже выделять память из неё по потребности. > > Но вообще я бы рекомендовал для начала не связываться с > разделяемой памятью, и в первую очередь добиться, чтобы всё > работало без неё. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru
Спасибо большое за помощь. Добился того, чтобы все работало с одним веркером. Единственное, что очень бросается в глаза, это использование указателя на структуру ngx_http_filestats_loc_conf_t для того, чтобы при использовании конфигураций других локейшенов я мог получать валидные данные с настройками указанными в конфиге. Вы не могли бы подсказать, где можно посмотреть реализацию работы с ngx_shm? Мне нужно вставить в шаренную память листы, чтобы я мог избавиться от указателя, и чтобы хранить данные не сохраняя оффсетов, смогу ли я каким либо образом вторым аргументом к функции ngx_list_init использовать ngx_shm_zone_t? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239808#msg-239808 _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
