gpt4 book ai didi

perl - 目前进行并行下载最舒适和可靠的跨平台 Perl 模块是什么?

转载 作者:行者123 更新时间:2023-12-01 07:46:48 27 4
gpt4 key购买 nike

我将不得不通过简单地在一个 url 上发布并获得 XML 作为返回来下载一些数据集。我将能够通过一次执行多个请求来加快这一速度,但这里有一个钩子(Hook):

它需要在 Windows 和 Linux 上运行,所以 线程和 fork 都出来了 . (由于这纯粹是受 IO 限制的,我认为也不需要它们。)

此外,我的同事对 perl 的理解水平不是很高,但需要能够掌握如何使用它(不一定是发生了什么,使用情况很好)。因此,如果它的 我会很高兴API 有点简单 .

现在我在看IO::Lambda为了这。

还有其他建议吗?

验尸:根据 draegtun 的建议,我现在把它放在一起,它完美地完成了这项工作:https://gist.github.com/661386您可能很快就会在 CPAN 上看到它。

最佳答案

看看 AnyEvent::HTTP .根据CPAN testers platform matrix它确实在 Windows 上编译和工作。

下面是一个简单的异步 POST 示例 (http_post)。

use 5.012;
use warnings;
use AnyEvent::HTTP;

my $cv = AnyEvent->condvar;

my @urls = (
[google => 'http://google.com', 'some body'],
[yahoo => 'http://yahoo.com' , 'any body' ],
);

for my $site (@urls) {
my ($name, $url, $body) = @$site;
$cv->begin;
http_post $url, $body => sub {
my $xml = shift;
do_something_with_this( $name, $xml );
$cv->end;
}
}

# wait till all finished
$cv->recv;
say "Finished";

sub do_something_with_this { say @_ }

注意。记住你决定用 do_something_with_this 做的任何事情尽量避免任何阻碍。见其他非阻塞 AnyEvent modules

/I3az/

关于perl - 目前进行并行下载最舒适和可靠的跨平台 Perl 模块是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4086335/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com