Forks-Queue =========== Forks::Queue - queue object that can be shared across processes A simple shared queue API for interprocess communication. This is useful for boss/worker models for performing several related tasks in parallel processes, or for creating persistent queues that can be shared by unrelated processes that may not even be running at the same time. This distribution comes with three implementations -- using flat files, shared memory, and SQLite databases -- for a simple and shared queue API for sharing information across different processes. SYNOPSIS use Forks::Queue; $q = Forks::Queue->new( impl => ... ); # File, Shmem, or SQLite $q->put(42); # put simple items onto the queue $q->put( { foo => 123, bar => \%ENV } ); # or bigger data structures ... $q->end; # indicates that no more jobs will be added $item = $q->get; # retrieve item, possibly after a fork @upto5_items = $q->get(5); # retrieve several items $item = $q->peek; # retrieve without removing from queue $remaining = $q->pending; INSTALLATION To install this module, run the following commands: perl Makefile.PL make make test make install DEPENDENCIES The JSON module is required for Forks::Queue and all its implementations. DBD::SQLite module and sqlite libraries are required for the Forks::Queue::SQLite implementation. Forks::Queue::Shmem will not work on systems that don't have a /dev/shm shared memory virtual filesystem. SUPPORT AND DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc Forks::Queue You can also look for information at: RT, CPAN's request tracker (report bugs here) http://rt.cpan.org/NoAuth/Bugs.html?Dist=Forks-Queue AnnoCPAN, Annotated CPAN documentation http://annocpan.org/dist/Forks-Queue CPAN Ratings http://cpanratings.perl.org/d/Forks-Queue Search CPAN http://search.cpan.org/dist/Forks-Queue/ LICENSE AND COPYRIGHT Copyright (C) 2017-2019 Marty O'Brien This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.