NAME
Mojolicious::Plugin::Pubsub - Pubsub plugin for Mojolicious
VERSION
version 0.002
SYNOPSIS
# Mojolicious
my $pubsub = $app->plugin('Pubsub', { cb => sub { print "Message: $_[0]\n"; }, socket => 'myapp.pubsub', });
$app->publish("message");
# Mojolicious::Lite
my $pubsub = plugin Pubsub => { cb => sub { print "Message: $_[0]\n"; }, socket => 'myapp.pubsub', };
app->publish("message");
DESCRIPTION
Easy way to add pubsub to your Mojolicious apps; it hooks into the
Mojo::IOLoop to send and receive messages asynchronously.
NAME
Mojolicious::Plugin::Pubsub - Pubsub plugin for Mojolicious
OPTIONS
cb
Takes a callback CODE reference.
socket
A path to a UNIX socket used to communicate between the publishers. By
default this will be $app->moniker . '.pubsub'.
HELPERS
publish
$c->publish("message");
$c->publish(@args);
Publishes a message that the subscribing callbacks will receive.
subscribe
$c->subscribe($cb);
Add the $cb code reference to the callbacks that get published
messages.
unsubscribe
$c->unsubscribe($cb);
Remove the $cb code reference from the callbacks that get published
messages.
SUBSCRIBERS
my $subscriber = sub {
my @args = @_;
...
};
Subscribers sent to the cb option, or the subscribe helper should
simply be CODE references that handle the arguments passed in. The
@args will be the same as what was passed in to the publish helper,
except they will have gotten JSON encoded via Mojo::JSON on the way, so
only data structures that consist of regular scalars, arrays, hashes,
and objects that implement TO_JSON or that stringify will work
correctly. See Mojo::JSON for more details.
METHODS
register
my $pubsub = $plugin->register(Mojolicious->new, { cb => sub { ... }, socket => $path });
Register plugin in Mojolicious application.
SEE ALSO
Mojolicious, Mojo::Redis2.
AUTHOR
Andreas Guldstrand <
[email protected]>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2018 by Andreas Guldstrand.
This is free software, licensed under:
The MIT (X11) License