ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Perl: Nginx



> Смотрю примеры использования сабж.

> Интересуют вопросы, вот например:

> ngx_timer 5, 5, sub {
> ngx_log_notice 0, "5 seconds gone";
> };

> А как сделать например чтобы таймер повторился 5 раз?

> То есть в AnyEvent например мы делаем нечто вроде

> my $timer;
> my $counter = 0;

> $timer = AE::timer 5, 5, sub {
> log_notice "5 seconds gone";
> return if ++$counter < 5;
> undef $timer;               # тут мы останавливаем timer
> };

> А в nginx такая возможность есть?

> Так же интересуют вопросы остановки работы с сокетами.


Я к чему. Имеются туева хуча наработок на Perl для работы
event-машинами. В частности AnyEvent. На базе него есть разные вещи
вроде событийной обработки, парсинга итп. Но там работа основана на
том что когда ты вешаешь свой саб на обработку некоего повторяющегося
события (например что данные появились в сокете), то ты всегда этот
ватчер можешь убрать/заменить другим. И на этом можно крутить очень
сложную логику в довольно простом режиме. То есть например первый
ватчер читает заголовок какого-нибудь протокола, затем удаляется и
заменяется другим, который что-то дочитывает итп. и эта вся фигатень в
перле развивается: всякие коннекторы к БД асинхронные делают (например
к постгрису есть коннектор), итп итд.

Вот и хочется для AnyEvent написать имплементатор Nginx и все это
хозяйтство автоматом станет работать на nginx.
-- 

. ''`.                               Dmitry E. Oboukhov
: :?  :   email: unera@xxxxxxxxxx jabber://UNera@xxxxxx
`. `~?              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment: signature.asc
Description: Digital signature

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.