I'm guessing you want to make web requests in parallel.
If you want to continue using Coro and/or AnyEvent, you'll find using LWP::Protocol::AnyEvent::http simpler.
use Coro qw( async ); use Coro::Channel qw( ); use LWP::Protocol::AnyEvent::http qw( ); use LWP::UserAgent qw( ); my $num_workers = 10; my $q = Coro::Channel->new(); my @threads; for (1..$num_workers) { push @threads, async { my $ua = LWP::UserAgent->new(); $ua->protocols_allowed([qw( http https )]); while (my $url = $q->get()) { my $response = $ua->get($url); ... } } } while (my $url = get_next_url()) { $q->put($url); } $q->shutdown(); $_->join() for @threads;
However, I'd personally use Net::Curl::Multi (on unix systems).
In reply to Re: Help, AnyEvent::HTTP no work!
by ikegami
in thread Help, AnyEvent::HTTP no work!
by Perl_Love
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |