use strict; use warnings; use IPC::DirQueue; use IPC::DirQueue::Job; my $dq = IPC::DirQueue->new({ dir => 'DirQueueTest' }); while(1) { my $job = $dq->wait_for_queued_job(0); if (!$job) { print "no jobs left\n"; } else { my $TestNumber = $job->{metadata}->{TestNumber}; my $QueuePid = $job->{metadata}->{QueuePid}; print "Worker:$$ Running QueuePid=$QueuePid, TestNum=$TestNumber\n"; $job->finish(); } }