Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Jonk::Cookbook::ForkMoUser3Contributed Perl DocumeJonk::Cookbook::ForkModel(3)

NAME
       Jonk::Cookbook::ForkModel - with	Parallel::Prefork.

USAGE
       prefork worker script:

	   #! perl
	   use strict;
	   use warnings;
	   use Parallel::Prefork;
	   use DBI;
	   use Jonk::Worker;
	   use Your::Worker;

	   my $pm = Parallel::Prefork->new({
	       max_workers	 => 10,
	       trap_signals	 => {
		   TERM	=> 'TERM',
		   HUP	=> 'TERM',
	       },
	   });

	   while ($pm->signal_received ne 'TERM') {
	       $pm->start and next;

	       my $dbh = DBI->connect('dbi:mysql:test','user','pass');
	       my $jonk	= Jonk::Worker->new($dbh => {functions => [qw/worker_key/]});

	       while (1) {
		   if (my $job = $jonk->dequeue) {
		       Your::Worker->work($job);
		   } else {
		       sleep(3); # wait	for 3 sec.
		   }
	       }

	       $pm->finish;
	   }

	   $pm->wait_all_children();

perl v5.32.0			  2010-11-24	  Jonk::Cookbook::ForkModel(3)

NAME | USAGE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Jonk::Cookbook::ForkModel&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help