This gem builds on top of the bunny gem for messaging with RabbitMQ and aims to remove most of the boilerplate code.

The Micromessaging: Connecting Heroku Microservices w/Redis and RabbitMQ article was the basis for the vast majority of the code here.

This gem is what it is, do not expect amazing support here!


Add this line to your application's Gemfile:

gem 'burrow'

And then execute:

$ bundle

Or install it yourself as:

$ gem install burrow


Set up a server and handle incoming messages :

server = Burrow::Server.new('my_queue')
server.subscribe do |method, params|
  if method == 'my_method'
    {foo: 'bar', baz: 'biz'}

Set up a client and send messages :

client = Burrow::Client.new('my_queue')
json   = client.publish('my_method', first_param: 'one', second_param: 'two')


  • Document the configuration options for bunny
  • Figure out how to handle errors


  1. Fork it ( https://github.com/tigrish/burrow/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request