NAME
Role::Pg::Notify - Client PostgreSQL notification Role
VERSION
version 0.001
DESCRIPTION
This role adds easy notification to client programs connected to a PostgreSQL database.
NAME
Role::Pg::Notify
ATTRIBUTES
notify_dbh
Role::Pg::Notify tries to guess your dbh. If it isn't a standard DBI::db named dbh, or constructed in a DBIx::Class schema called schema, you have to return the dbh from _build_notify_dbh.
METHODS
listen
$self->listen( queue => 'queue_name' );
$self->listen( queue => \@queues );
Sets up the listener. Quit listening to the named queues.
Returns undef immediately if no queue is provided.
unlisten
$self->unlisten( queue => 'queue_name' );
$self->unlisten( queue => \@queues );
Quit listening to the named queues.
Returns undef immediately if no queue is provided.
notify
$self->notify( queue => 'queue_name' );
$self->notify( queue => 'queue_name', payload => $data );
Sends an asynchronous notification to the named queue, with an optional payload.
Returns undef immediately if no queue name is provided.
get_notification
my $notifies = $self->get_notification();
Retrievies the pending notifications. The return value is an arrayref where each row looks like this:
my ($name, $pid, $payload) = @$notify;
Returns undef if no notification was found.
set_listen
my $notifies = $self->set_listen($timeout);
Retrievies the pending notifications. The return value is an arrayref where each row looks like this:
my ($name, $pid, $payload) = @$notify;
If no notification is found, set_listen listens $timeout seconds. If any notification to any queue we're listening on is received, it will be returned immediately.
Not passing $timeout (or passing undef) means that set_listen will wait forever (or until a notification is received).
Returns undef if no notification was received within the requested time.
AUTHOR
Kaare Rasmussen <kaare@cpan.org>.
COPYRIGHT
Copyright (C) 2014, Kaare Rasmussen
This module is free software; you can redistribute it or modify it under the same terms as Perl itself.
AUTHOR
Kaare Rasmussen <kaare at cpan dot net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Kaare Rasmussen.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.