[Moscow.pm] Простые однотипные операции с AnyEvent

Konstantin S. Uvarin khedin на gmail.com
Ср Окт 31 22:24:16 PDT 2012


Приветствую! 

> > Приветствую!
> 
> > Время от времени при написании (интеграционных?) тестов чего-то с 
эниэвентом
> > возникает почти одинаковая портянка:
> [ SKIP ]
> 
> > Соответственно, вопрос:
> > 1) А есть ли уже такой интерфейс?
> > 2) Нужен ли он кому-то ещё?
> 
> если будет соответствующе оформлен, то хороший будет модуль.
> только кроме ae_send, очевидно надо еще обязательно приделать ae_begin
> и ae_end.
> 
> потому что очень много групповых тестов, вроде того "делаем 5
> одновременных запросов"

Зарелизил на свой страх и риск. 
 
http://search.cpan.org/~khedin/AE-AdHoc-0.08/lib/AE/AdHoc.pm

Что умеет: 
* ae_recv - обертка над condvar+recv и timer
* ae_send, ae_croak и ae_end - генераторы коллбэков, которые делают 
  $cv-><функция>(@_)
* ae_begin - просто $cv->begin

Кроме этого:
* ae_goal - именованный begin/end - вызов самой функции создает "задачу",    
   вызов коллбэка помечает её как выполненную. 
* ae_action { CODE; } - выполнить CODE _после_ вхождения в event loop 
   (чтобы с AE::timer 0,0, sub не морочиться). 

Багрепорты лучше не в RT, а сразу на github.

https://github.com/dallaylaen/perl-AE-AdHoc/issues

--
WBR,
Konstantin S. Uvarin


Подробная информация о списке рассылки Moscow-pm