| Test2::Harness::Util::Queue(3pm) | User Contributed Perl Documentation | Test2::Harness::Util::Queue(3pm) |
Test2::Harness::Util::Queue - Representation of a queue.
This module represents a queue, stored as a jsonl file.
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]);
}
Returns an empty list if no items are available yet.
Returns 'undef' to terminate the list.
The source code repository for Test2-Harness can be found at http://github.com/Test-More/Test2-Harness/.
Copyright 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/
| 2023-10-04 | perl v5.36.0 |