[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