|
NAMETest2::Harness::Util::Queue - Representation of a queue. DESCRIPTIONThis module represents a queue, stored as a jsonl file. SYNOPSIS use Test2::Harness::Util::Queue;
my $queue = Test2::Harness::Util::Queue->new(file => '/path/to/queue.jsonl');
$queue->start(); # Create the queue
$queue->enqueue({foo => 'bar', baz => 'bat'});
$queue->enqueue({foo => 'bar2', baz => 'bat2'});
...
$queue->end();
Then in another processs: use Test2::Harness::Util::Queue;
my $queue = Test2::Harness::Util::Queue->new(file => '/path/to/queue.jsonl');
my @items;
while (1) {
@items = $queue->poll();
while (@items) {
my $item = shift @items or last;
... process $item
}
# Queue ends with an 'undef' entry
last if @items && !defined($items[0]);
}
METHODS
READING
WRITING
SOURCEThe source code repository for Test2-Harness can be found at http://github.com/Test-More/Test2-Harness/. MAINTAINERSAUTHORSCOPYRIGHTCopyright 2020 Chad Granum <exodist7@gmail.com>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/
|