【发布时间】:2016-05-30 13:32:46
【问题描述】:
我有下面的代码来做非阻塞 rpush 到一个 redis 服务器 当我只运行 1 rpush 时,代码工作正常 但是当我在一个while循环中运行它时,脚本在第一次执行后挂起。 为什么 ?
#!/usr/bin/perl
use AnyEvent;
use AnyEvent::Redis::RipeRedis;
use strict;
#my $cv = AE::cv();
my $redis = AnyEvent::Redis::RipeRedis->new(
host => 'localhost',
port => '6379',
);
my $i=0;
my $cv;
while($i++ < 5) {
$cv = AnyEvent->condvar;
$redis->rpush( 'list', "1","2","3",
{ on_done => sub {
my $data = shift;
print "$data\n";
},
}
);
$cv->recv();
}
$redis->quit(
sub {$cv->send();}
);
$cv->recv();
【问题讨论】:
标签: perl event-handling anyevent