Async-Queue
view release on metacpan or search on metacpan
lib/Async/Queue.pm view on Meta::CPAN
package Async::Queue;
use 5.006;
use strict;
use warnings;
use Carp;
use Scalar::Util qw(looks_like_number);
sub new {
my ($class, %options) = @_;
my $self = bless {
concurrency => 1,
worker => undef,
drain => undef,
empty => undef,
saturated => undef,
task_queue => [],
lib/Async/Queue.pm view on Meta::CPAN
sub running {
my ($self) = @_;
return $self->{running};
}
sub concurrency {
my ($self, $conc) = @_;
if(@_ > 1) {
croak "You cannot set concurrency while there is a running task" if $self->running > 0;
$conc = 1 if not defined($conc);
croak "concurrency must be a number" if !looks_like_number($conc);
$self->{concurrency} = int($conc);
}
return $self->{concurrency};
}
sub length {
my ($self) = @_;
return int(@{$self->{task_queue}});
}
( run in 0.530 second using v1.01-cache-2.11-cpan-64827b87656 )