|
NAMEAnyEvent::RabbitMQ - An asynchronous and multi channel Perl AMQP client.SYNOPSISuse 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 tls_ctx => $anyevent_tls # or a hash of AnyEvent::TLS options. tune => { heartbeat => 30, channel_max => $whatever, frame_max = $whatever }, nodelay => 1, # Reduces latency by disabling Nagle's algorithm on_success => sub { my $ar = shift; $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 $why = shift; if (ref($why)) { my $method_frame = $why->method_frame; die $method_frame->reply_code, ": ", $method_frame->reply_text; } else { die $why; } }, ); print $cv->recv, "\n"; DESCRIPTIONAnyEvent::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 Most of these actions can be done through AnyEvent::RabbitMQ::Channel. Please see the documentation there for more details. 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. AUTHORMasahito Ikuta <cooldaemon@gmail.com>MAINTAINERCurrently maintained by "<bobtfish@bobtfish.net>" due to the original author being missing in action.COPYRIGHTCopyright (c) 2010, the above named author(s).SEE ALSOLICENSEThis library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |