AnyEvent-Net-Curl-Queued
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/AnyEvent/Net/Curl/Queued.pm view on Meta::CPAN
=head2 common_opts
L<AnyEvent::Net::Curl::Queued::Easy/opts> attribute common to all workers initialized under the same queue.
You may define C<User-Agent> string here.
=head2 http_response
Encapsulate the response with L<HTTP::Response> (only when the scheme is HTTP/HTTPS); a global version of L<AnyEvent::Net::Curl::Queued::Easy/http_response>.
Default: disabled.
=head2 completed
Count completed requests.
=head2 cv
L<AnyEvent> condition variable.
Initialized automatically, unless you specify your own.
Also reset automatically after L</wait>, so keep your own reference if you really need it!
=head2 max
Maximum number of parallel connections (default: 4; minimum value: 1).
=head2 multi
L<Net::Curl::Multi> instance.
=head2 queue
C<ArrayRef> to the queue.
Has the following helper methods:
=head2 queue_push
Append item at the end of the queue.
=head2 queue_unshift
Prepend item at the top of the queue.
=head2 dequeue
Shift item from the top of the queue.
=head2 count
Number of items in queue.
=head2 share
L<Net::Curl::Share> instance.
=head2 stats
L<AnyEvent::Net::Curl::Queued::Stats> instance.
=head2 timeout
Timeout (default: 60 seconds).
=head2 unique
Signature cache.
=head2 watchdog
The last resort against the non-deterministic chaos of evil lurking sockets.
=head1 METHODS
=head2 inc_completed
Increment the L</completed> counter.
=head2 start()
Populate empty request slots with workers from the queue.
=head2 empty()
Check if there are active requests or requests in queue.
=head2 add($worker)
Activate a worker.
=head2 append($worker)
Put the worker (instance of L<AnyEvent::Net::Curl::Queued::Easy>) at the end of the queue.
For lazy initialization, wrap the worker in a C<sub { ... }>, the same way you do with the L<Moo> C<default =E<gt> sub { ... }>:
$queue->append(sub {
AnyEvent::Net::Curl::Queued::Easy->new({ initial_url => 'http://.../' })
});
=head2 prepend($worker)
Put the worker (instance of L<AnyEvent::Net::Curl::Queued::Easy>) at the beginning of the queue.
For lazy initialization, wrap the worker in a C<sub { ... }>, the same way you do with the L<Moo> C<default =E<gt> sub { ... }>:
$queue->prepend(sub {
AnyEvent::Net::Curl::Queued::Easy->new({ initial_url => 'http://.../' })
});
=head2 wait()
Process queue.
=for Pod::Coverage BUILD
BUILDARGS
has_watchdog
=head1 CAVEAT
=over 4
=item *
Many sources suggest to compile L<libcurl|http://curl.haxx.se/> with L<c-ares|http://c-ares.haxx.se/> support. This only improves performance if you are supposed to do many DNS resolutions (e.g. access many hosts). If you are fetching many documents ...
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.195 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )