Provided by: libmojo-ioloop-readwriteprocess-perl_0.32-1_all bug

NAME

       Mojo::IOLoop::ReadWriteProcess::Pool - Pool of Mojo::IOLoop::ReadWriteProcess objects.

SYNOPSIS

           use Mojo::IOLoop::ReadWriteProcess qw(parallel);
           my $n_proc = 20;
           my $fired;

           my $p = parallel sub { print "Hello world\n"; } => $n_proc;

           # Subscribe to all "stop" events in the pool
           $p->once(stop => sub { $fired++; });

           # Start all processes belonging to the pool
           $p->start();

           # Receive the process output
           $p->each(sub { my $p = shift; $p->getline(); });
           $p->wait_stop;

           # Get the last one! (it's a Mojo::Collection!)
           $p->last()->stop();

METHODS

       Mojo::IOLoop::ReadWriteProcess::Pool inherits all methods from Mojo::Collection and
       implements the following new ones.  Note: It proxies all the other methods of
       Mojo::IOLoop::ReadWriteProcess for the whole process group.

   get
           use Mojo::IOLoop::ReadWriteProcess qw(parallel);
           my $pool = parallel(sub { print "Hello" } => 5);
           $pool->get(4);

       Get the element specified in the pool (starting from 0).

   add
           use Mojo::IOLoop::ReadWriteProcess qw(pool);
           my $pool = pool(maximum_processes => 2);
           $pool->add(sub { print "Hello 2! " });

       Add the element specified in the pool.

   remove
           use Mojo::IOLoop::ReadWriteProcess qw(parallel);
           my $pool = parallel(sub { print "Hello" } => 5);
           $pool->remove(4);

       Remove the element specified in the pool.

   maximum_processes
           use Mojo::IOLoop::ReadWriteProcess qw(parallel);
           my $pool = parallel(sub { print "Hello" } => 5);
           $pool->maximum_processes(30);
           $pool->add(...);

       Prevent from adding processes to the pool. If we reach "maximum_processes" number of
       processes, "add()" will refuse to add more to the pool.

ENVIRONMENT

       You can set the MOJO_PROCESS_MAXIMUM_PROCESSES environment variable to specify the the
       maximum number of processes allowed in Mojo::IOLoop::ReadWriteProcess instances.

           MOJO_PROCESS_MAXIMUM_PROCESSES=10000

LICENSE

       Copyright (C) Ettore Di Giacinto.

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

AUTHOR

       Ettore Di Giacinto <edigiacinto@suse.com>