nationavon
MIS
The following code creates a new fork evertime the loop executes. The number of loops depends on the number of elements in @queue array. I don't want to spawn more than 3 forks at any given time. I need to wait somehow. For some reason I'm having a mental block on how to do this. It's like contemplating the edge of the universe. Any help would be greatly appreciated!
Nathan
#run subroutine depending on schedule type
foreach $queue (@queue){
if (defined($pid = fork)){
if ($pid) {
print "Parent: forked child ($pid)\n";
} else {
#execute schedule scripts
($queue_id, $schedule_id)=split(/\|/, $queue);
if ($schedule_id == 0){system("immediate.pl $queue_id"
;}
elsif ($schedule_id == 1){system("hourly.pl $queue_id"
;}
elsif ($schedule_id == 2){system("daily.pl $queue_id"
;}
elsif ($schedule_id == 3){system("weekly.pl $queue_id"
;}
elsif ($schedule_id == 4){system("monthly.pl $queue_id"
;}
elsif ($schedule_id == 5){system("yearly.pl $queue_id"
;}
else {print "Oops I did it again";}
last;
}
}
}
Nathan
#run subroutine depending on schedule type
foreach $queue (@queue){
if (defined($pid = fork)){
if ($pid) {
print "Parent: forked child ($pid)\n";
} else {
#execute schedule scripts
($queue_id, $schedule_id)=split(/\|/, $queue);
if ($schedule_id == 0){system("immediate.pl $queue_id"
elsif ($schedule_id == 1){system("hourly.pl $queue_id"
elsif ($schedule_id == 2){system("daily.pl $queue_id"
elsif ($schedule_id == 3){system("weekly.pl $queue_id"
elsif ($schedule_id == 4){system("monthly.pl $queue_id"
elsif ($schedule_id == 5){system("yearly.pl $queue_id"
else {print "Oops I did it again";}
last;
}
}
}