Async-Queue

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Async-Queue

0.021   2013/01/06
        Fix the bug: Async::Queue would push many stack frames
        if many synchronous tasks are executed in series.
        Test t/30-tons_of_sync added and passed.

0.01    2012/11/11
        First release.

META.json  view on Meta::CPAN

{
   "abstract" : "control concurrency of asynchronous tasks",
   "author" : [
      "Toshio Ito <debug.ito@gmail.com>"
   ],
   "dynamic_config" : 1,
   "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
   "license" : [
      "perl_5"
   ],
   "meta-spec" : {
      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",

META.yml  view on Meta::CPAN

---
abstract: 'control concurrency of asynchronous tasks'
author:
  - 'Toshio Ito <debug.ito@gmail.com>'
build_requires:
  FindBin: 0
  Test::Builder: 0
  Test::Exception: 0
  Test::More: 0
configure_requires:
  ExtUtils::MakeMaker: 0
dynamic_config: 1

lib/Async/Queue.pm  view on Meta::CPAN

    $sync = 0;
    if($sync_completed) {
        @_ = ($self);
        goto &_shift_run;
    }
}


=head1 NAME

Async::Queue - control concurrency of asynchronous tasks

=head1 VERSION

Version 0.021

=cut

our $VERSION = '0.021';


lib/Async/Queue.pm  view on Meta::CPAN

of the HTTP sessions (in this case, up to three).



=head1 SEE ALSO

=over

=item L<AnyEvent::FIFO>

The goal of L<AnyEvent::FIFO> is the same as that of L<Async::Queue>: to control concurrency level of asynchronous tasks.
The big difference is that L<AnyEvent::FIFO> is a queue of subroutines while L<Async::Queue> is a queue of tasks (data).
In L<Async::Queue>, worker subroutine is registered with the object in advance.
In L<AnyEvent::FIFO>, it is workers that are pushed to the queue.

You can emulate L<AnyEvent::FIFO> with L<Async::Queue> by pushing subroutine references to it as tasks.

=back


=head1 AUTHOR



( run in 0.269 second using v1.01-cache-2.11-cpan-0d8aa00de5b )