Giter VIP home page Giter VIP logo

bunny's Introduction

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

  • AMQP 0.9.1 model explained โ€“ Introductory explanation of the AMQP v0.9.1 specification with particular reference to RabbitMQ

Links

bunny's People

Contributors

ali-graham avatar aymerick avatar bodgit avatar carlhoerberg avatar celldee avatar chaptastic avatar danielsdeleo avatar eric avatar fazibear avatar foobarwidget avatar gthiruva avatar markdblackwell avatar michaelklishin avatar nedcampion avatar xaviershay avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.