The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

AnyMQ::Pg - Use built-in PostgreSQL 'LISTEN' and 'NOTIFY' commands for message-passing.

ABOUT

Enables the use of PostgreSQL as a backend for message queueing functionality with AnyMQ.

Many people are probably unaware that PostgreSQL has a built-in asynchronous publish/subscribe mechanism, but it does.

http://www.postgresql.org/docs/9.1/interactive/sql-listen.html

SYNOPSIS

    my $bus = AnyMQ->new_with_traits(
        traits     => ['Pg'],
        dsn        => 'dbname=postgres user=postgres',
        on_connect => sub { ... },
        on_error   => sub { ... },
    );

    # see AnyMQ docs for usage
    my $topic = $bus->topic('my_event');
    my $listen_watcher = $bus->new_listener($topic);
    $listen_watcher->poll(sub {
        my ($evt) = @_;
        warn "Got notified of my_event: " . Dumper($evt);
    });
    $topic->publish({ foo => 123 });
    AE::cv->recv;

SEE ALSO

AnyEvent::Pg, Web::Hippie, Web::Hippie::PubSub

AUTHOR

Mischa Spiegelmock, <revmischa at cpan.org>

LICENSE AND COPYRIGHT

Copyright 2012 Mischa Spiegelmock.

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.