I've just released an alpha version of Spread::Queue on CPAN.
This is a basic one-of-many queued message delivery framework
using the open source Spread toolkit.
This really needs to be tied into a proper event framework like
POE or Stem.
Questions and comments appreciated.
Cheers,
-Jason
SYNOPSIS
Queue manager
$ sqm myqueue
Worker ("server") process
use Spread::Queue::Worker;
my $worker = new Spread::Queue::Worker("myqueue");
$worker->callbacks(
myfunc => \&myfunc,
);
$SIG{INT} = \&signal_handler;
$worker->run;
sub myfunc {
my ($worker, $originator, $input) = @_;
my $result = {
response => "I heard you!",
};
$worker->respond($originator, $result);
}
Requesting ("client") process
use Spread::Queue::Sender;
my $sender = new Spread::Queue::Sender("myqueue");
$sender->submit("myfunc", { name => "value" });
my $response = $sender->receive;
or
my $response = $sender->rpc("myfunc", { name => "value" });