Skip to content

Bunny is a popular synchronous Ruby client for RabbitMQ.

License

Notifications You must be signed in to change notification settings

christian-blades-cb/bunny

 
 

Repository files navigation

About bunny

Bunny is a synchronous AMQP 0.9.1 client. It supports Ruby 1.9.3, 1.9.2, 1.8.7,
Ruby Enterprise Edition and JRuby.

Limited Functionality Disclaimer

Bunny 0.7.x and 0.8.x releases are not feature complete in respect of the AMQP spec or RabbitMQ.

You can use Bunny to:

  • Create and delete exchanges
  • Create and delete queues
  • Publish and synchronously consume messages

But it does not support

  • Arrays, hashes or even symbols in message headers
  • Framing of large messages
  • Many AMQP operations
  • RabbitMQ extensions

Bunny is about to undergo a lot of internal changes

Bunny is lacking some very useful functionality and as such, is about to undergo serious internal changes.
We will make our best efforts to keep them as backwards compatible as possible but within reason.

See this announcement to learn more.

In the meantime, consider using Hot Bunnies (JRuby) or amqp gem instead. The last release
of Bunny that suports AMQP v0.8 is `0.7.9`. Bunny 0.8.0 only supports AMQP v0.9.1.

Quick Start for Bunny 0.7.x and 0.8.x

require "bunny"

b = Bunny.new(:logging => true)

# start a communication session with the amqp server
b.start

# declare a queue
q = b.queue("test1")

# declare default direct exchange which is bound to all queues
e = b.exchange("")

# publish a message to the exchange which then gets routed to the queue
e.publish("Hello, everybody!", :key => 'test1')

# get message from the queue
msg = q.pop[:payload]

puts "This is the message: " + msg + "\n\n"

# close the connection
b.stop

… or just:

require "bunny"

# Create a direct queue named "my_testq"
Bunny.run { |c| c.queue("my_testq") }

Please see the examples directory for additional usage information.

AMQP Resources

Links

About

Bunny is a popular synchronous Ruby client for RabbitMQ.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%