вопросы по перловому модулю

Igor Sysoev is at rambler-co.ru
Fri Aug 31 19:03:27 MSD 2007


On Fri, Aug 31, 2007 at 05:16:18PM +0300, Igor Savchenko wrote:

>   1. Если внутри перлового обработчика пусто, к примеру:
> 
>   package MyPerlHandler;
>                                 
>   use nginx;
> 
>   sub handler
>   {
>         my $r = shift;
>         
>         
>   }
> 
>   1;
>   __END__
> 
>   Тогда при запросе на локатион который обрабатывается таким
>   обработчиком nginx думает секунд 5 и ничего не возвращает точнее
>   получается ответ с кодом 0 и пустым телом (без хедеров) и при этом в
>   error.log ничего не кладется.
>   Вопрос: Может это как-нибудь хендлить и писать в эрор лог хоть
>   что-нибудь?
> 
> 
>   
>   2. Если внутри обработчика написать $r->print("123"); return OK;
>   Без $r->send_http_header, то данные клиенту передаются, но
>   появляется опять же секунд на 5 задержка. Откуда она берется? а
>   также информация о том что клиенту отдался контент без хедеров в
>   лог тоже не кладется. Может что-то писать следует? Или принудительно
>   слать хедеры?

Задержка, скорее всего, берётся из "keepalive_timeout 5".

В первом случае действительно вообще ничего не передаётся.
Во втором только "123". На мой взгляд, это удобно для написания
серверов, работающих по псевдо-HTTP.

Ксати, а как в подобных случаях ведёт себя Апачевский mod_perl ?
У меня есть подозрение, что так же.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list