Tomas Doran > AnyEvent-RabbitMQ-1.10 > AnyEvent::RabbitMQ

Download:
AnyEvent-RabbitMQ-1.10.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  5
Open  2
Stalled  1
View/Report Bugs
Module Version: 1.10   Source   Latest Release: AnyEvent-RabbitMQ-1.17

NAME ^

AnyEvent::RabbitMQ - An asynchronous and multi channel Perl AMQP client.

SYNOPSIS ^

  use AnyEvent::RabbitMQ;

  my $cv = AnyEvent->condvar;

  my $ar = AnyEvent::RabbitMQ->new->load_xml_spec()->connect(
      host       => 'localhost',
      port       => 5672,
      user       => 'guest',
      pass       => 'guest',
      vhost      => '/',
      timeout    => 1,
      tls        => 0, # Or 1 if you'd like SSL
      on_success => sub {
          $ar->open_channel(
              on_success => sub {
                  my $channel = shift;
                  $channel->declare_exchange(
                      exchange   => 'test_exchange',
                      on_success => sub {
                          $cv->send('Declared exchange');
                      },
                      on_failure => $cv,
                  );
              },
              on_failure => $cv,
              on_close   => sub {
                  my $method_frame = shift->method_frame;
                  die $method_frame->reply_code, $method_frame->reply_text;
              }
          );
      },
      on_failure => $cv,
      on_read_failure => sub {die @_},
      on_return  => sub {
          my $frame = shift;
          die "Unable to deliver ", Dumper($frame);
      }
      on_close   => sub {
          my $method_frame = shift->method_frame;
          die $method_frame->reply_code, $method_frame->reply_text;
      },
  );

  print $cv->recv, "\n";

DESCRIPTION ^

AnyEvent::RabbitMQ is an AMQP(Advanced Message Queuing Protocol) client library, that is intended to allow you to interact with AMQP-compliant message brokers/servers such as RabbitMQ in an asynchronous fashion.

You can use AnyEvent::RabbitMQ to -

  * Declare and delete exchanges
  * Declare, delete, bind and unbind queues
  * Set QoS and confirm mode
  * Publish, consume, get, ack, recover and reject messages
  * Select, commit and rollback transactions

AnyEvent::RabbitMQ is known to work with RabbitMQ versions 2.5.1 and versions 0-8 and 0-9-1 of the AMQP specification.

This client is the non-blocking version, for a blocking version with a similar API, see Net::RabbitFoot.

AUTHOR ^

Masahito Ikuta <cooldaemon@gmail.com>

MAINTAINER ^

Currently maintained by <bobtfish@bobtfish.net> due to the original author being missing in action.

COPYRIGHT ^

Copyright (c) 2010, the above named author(s).

SEE ALSO ^

LICENSE ^

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

syntax highlighting: