【发布时间】:2017-10-07 11:19:33
【问题描述】:
我需要在非阻塞模式下获取 URL 列表,但不是并行。它应该是一个接一个的顺序请求。我怎么能意识到这一点?
我找不到示例。文档和文章仅强调并行执行。
现在我的代码如下所示(简化):
my $delay = Mojo::IOLoop::Delay->new;
$delay->steps(
sub {
build_report();
say "done";
}
);
sub parse_data {
...;
my $url = shift @urls;
my $end = $delay->begin;
$ua->get( $url => \&parse_data );
$end->();
}
my $end = $delay->begin;
$ua->get( $url => \&parse_data );
$end->();
$delay->wait;
我想通过使用Mojo::IOLoop::Delay 来避免多次关闭。
【问题讨论】:
-
什么是
$ua?build_report是做什么的? -
$ua 是 Mojo::UserAgent; build_report 在摘要报告中收集所有请求的数据。
标签: perl asynchronous mojolicious