Re: Реализация непрыровной отдачи в модуле-handler

Монашёв Михаил postmaster at softsearch.ru
Tue Aug 7 16:54:34 MSD 2007


Здравствуйте, Денис.

Тема интересная. Мы тоже сейчас с этим мучаемся.

> Any comments?

>> >nginx считает, что запрос отработан после того, как вызвана
>>>ngx_http_finalize_request().
>>
>> Ниже приведенный код цикла падает на вызове ngx_http_finalize_request,
>> как все-же правильно организовать непрерывную отдачу без буферизации?
>>
>> static ngx_int_t ngx_http_my_handler ( ngx_http_request_t* r )
>> {
>>    ngx_int_t   rc;
>>    ngx_chain_t out;
>>    int i;
>>    .....
>>
>>    for ( i = 0; i < 10; i++ )
>>   {
>>         .....
>>         out.buf  = b;
>>         out.next = NULL;
>>
>>        // попытка отправить в сокет out.buf
>>        ngx_http_output_filter(r, &out);
>>        ngx_http_finalize_request(r, NGX_DONE);
>>   }
>>
>>    return NGX_OK;
>> }
>>
>> Как я понимаю, надо реорганизовать такой цикл, чтобы отправка
>> каждого буфера приводила к выходу из ngx_int_t ngx_http_my_handler(...),
>> с последующим возвращением в него за следующим буфером,
>> но организовать такое через NGX_AGAIN не получилось.



-- 
С уважением,
Монашёв Михаил, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.






More information about the nginx-ru mailing list