Re: Сбор статистики о файле

ForJest forjest at gmail.com
Fri Apr 21 12:37:01 MSD 2006


Игорь, а где исправить, чтобы начало работать и post_action и cleanup
процедура? Я могу сделать workaround в этом самом post_action, но хочу
сделать по уму.

On 4/21/06, Igor Sysoev <is at rambler-co.ru> wrote:
> On Fri, 21 Apr 2006, ForJest wrote:
>
> > Игорь, а при наличии post_action данная конструкция и не должна
> > срабатывать? Как можно сделать чтобы cleanup-процедура работала и с
> > post_action?
> > Я точно не проверял, но вот на develop nginx'е 0.3.37 cleanup
> > процедура отрабатывает. А на тестовом, у которого есть post_action
> > (0.3.40) - нет.
>
> cleanup на данный момент не отрабатывает на keep-alive соединениях.
> В 0.3.41 это будет исправлено.
>
> > On 4/18/06, Igor Sysoev <is at rambler-co.ru> wrote:
> >> On Tue, 18 Apr 2006, ForJest wrote:
> >>
> >>> Единственно что - я не придумал ничего лучше чем вставить регистрацию
> >>> cleanup процедуры в фильтр тела ответа, по флагу. Я не нашёл способа,
> >>> как получить request_t где-нибудь в инциализации или создании conf.
> >>> Может есть лучшее место?
> >>> -------
> >>>     if (!conf->is_finish_inited)
> >>>     {
> >>>          cln = ngx_http_cleanup_add(r, 0);
> >>>          if (cln == NULL) {
> >>>              ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
> >>>              return NGX_ERROR;
> >>>          }
> >>>
> >>>          cln->handler = ngx_http_request_stats_cleanup;
> >>>          cln->data = r;
> >>>          conf->is_finish_inited = 1;
> >>>     }
> >>> ----------
> >>
> >> Флаг должен быть не в конфигурации, а в конексте самого запроса.
> >> Использование контекста можно посмотреть, например, в charset, gzip, userid:
> >>     ngx_http_get_module_ctx();
> >>     ngx_http_set_ctx();
> >>
> >>> И ещё вопрос - у cleanup процедуры есть какие-либо обязательства? Т.е.
> >>> там нужно вызывать цепочку дальше, или нет? Если нужно, то где взять
> >>> статус завершения, для вызова ngx_http_finalize_request?
> >>
> >> Нет, никаких обязательств нет, только return.
>
>
> Игорь Сысоев
> http://sysoev.ru
>
>


More information about the nginx-ru mailing list