=pod

=head1 SUMMARY

Parallel::Forker is a Perl package to manage parallel processes that are
either subroutines or system commands.  Parallel::Forker supports being
able to specify complicated expressions to determine which processes run
after others, or processes that run when processes others fail.

=head1 EXAMPLE

   use Parallel::Forker;
   $Fork = new Parallel::Forker(use_sig_child=>1);
   $Fork->schedule
      (run_on_start => sub {print "child work here...";},
       # run_on_start => \&child_subroutine,  # Alternative: call a named sub.
       run_on_finish => sub {print "parent cleanup here...";},
       )->run;
   $Fork->wait_all;   # Wait for all children to finish

=head1 INSTALLATION

=head2 Install from CPAN:

   cpan install Parallel::Forker

=head2 Or, build from sources:

   # Obtain distribution kit
   git clone git@github.com:veripool/Parallel-Forker.git
   # Build
   cd Parallel-Forker
   git pull
   perl Makefile.PL
   make
   make test
   make install

=head1 DOCUMENTATION

See the L<Parallel::Forker> manpage after installation.

=head1 LICENSE

The latest version is available from CPAN and from
L<https://www.veripool.org/parallel-forker>.

Copyright 2002-2020 by Wilson Snyder.  This package is free software; you
can redistribute it and/or modify it under the terms of either the GNU
Lesser General Public License Version 3 or the Perl Artistic License
Version 2.0.

=head1 AUTHORS

Wilson Snyder <wsnyder@wsnyder.org>

=cut
