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 |