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

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