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(); } } #### use strict; use warnings; use IPC::DirQueue; my $DirQueueOpts = { dir => 'DirQueueTest', active_file_lifetime => (60*60*24) }; my $TestNum = 0; while($TestNum < 100000) { print "QueuePid=$$, TestNum=$TestNum\n"; my $dq = IPC::DirQueue->new($DirQueueOpts); my $QNXBuildMetaData = { TestNumber => $TestNum, QueuePid => $$}; $dq->enqueue_string("QueuePid=$$, TestNum=$TestNum", $QNXBuildMetaData); $TestNum = $TestNum+1; }