From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

AnyMQ - Non-blocking message queue system based on AnyEvent

SYNOPSIS

use AnyMQ;
my $mq = AnyMQ->topic('Foo'); # gets an AnyMQ::Topic object
$mq->publish({ message => 'Hello world'});
# bind to external message queue servers using traits.
# my $bus = AnyMQ->new_with_traits(traits => ['AMQP'],
# host => 'localhost',
# port => 5672,
# user => 'guest',
# pass => 'guest',
# vhost => '/',
# exchange => '');
# my $mq = $bus->topic('foo')
$mq->publish({ message => 'Hello world'});
# $bus->new_listener('client_id', $mq);

DESCRIPTION

AnyMQ is message queue system based on AnyEvent. It can store all messages in memory or use external message queue servers.

Messages are published to AnyMQ::Topic, and consumed with AnyMQ::Queue.

METHODS

new

Returns a new AnyMQ object, which is a message bus that can associate with arbitrary AnyMQ::Topic and consumed by AnyMQ::Queue

topic($name or %opt)

Returns a AnyMQ::Topic with given name or constructor options %opt. If called as class method, the default bus will be used. Topics not known to the current AnyMQ bus will be created.

new_topic($name or %opt)

Creates and returns a new AnyMQ::Topic object with given name or constructor options %opt. This should not be called directly.

new_listener(@topic)

Returns a new AnyMQ::Queue object, and subscribes to the optional given topic. If called as class method, the default bus will be used.

AUTHORS

Tatsuhiko Miyagawa Chia-liang Kao

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

AnyMQ::Topic, AnyMQ::Queue