Description
March Hare is an idiomatic, fast and well-maintained (J)Ruby DSL on top of the RabbitMQ Java client. It strives to combine strong parts of the Java client with over 4 years of experience using and developing Ruby amqp gem and Bunny.
March Hare alternatives and similar gems
Based on the "Queue" category.
Alternatively, view March Hare alternatives based on common mentions on social networks and blogs.
-
Resque
Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later. -
Sucker Punch
Sucker Punch is a Ruby asynchronous processing library using concurrent-ruby, heavily influenced by Sidekiq and girl_friday. -
Shoryuken
A super efficient Amazon SQS thread based message processor for Ruby. This project is in MAINTENANCE MODE. Reach me out on Slack link on the description if you want to become a new maintainer.
Scout Monitoring - Performance metrics and, now, Logs Management Monitoring with Scout Monitoring
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of March Hare or a related project?
README
March Hare, a JRuby RabbitMQ Client
March Hare is an idiomatic, fast and well-maintained (J)Ruby DSL on top of the RabbitMQ Java client. It strives to combine strong parts of the Java client with over 4 years of experience using and developing Ruby amqp gem and Bunny.
Why March Hare
- Concurrency support on the JVM is excellent, with many tools & approaches available. Lets make use of it.
- RabbitMQ Java client is rock solid and supports every RabbitMQ feature. Very nice.
- It is screaming fast thanks to all the heavy duty being done in the pretty efficient & lightweight Java code.
- It uses synchronous APIs where it makes sense and asynchronous APIs where it makes sense. Some other Ruby RabbitMQ clients only use one or the other.
- amqp gem has certain amount of baggage it cannot drop because of backwards compatibility concerns. March Hare is a clean room design, much more open to radical new ideas.
What March Hare is not
March Hare is not
- A replacement for the RabbitMQ Java client
- A replacement for Bunny, the most popular Ruby RabbitMQ client
- A long running "work queue" service
Project Maturity
March Hare has been around since 2011 and can be considered a mature library.
It is based on the RabbitMQ Java client, which is officially supported by the RabbitMQ team at VMware.
Installation, Dependency
With Rubygems
gem install march_hare
With Bundler
gem "march_hare", "~> 4.5"
Documentation
Guides
MarchHare documentation guides are now a part of this repository and can be read directly on GitHub.
Examples
Several [code examples](./examples) are available. Our [test suite](./spec/higher_level_api/integration) also has many code examples that demonstrate various parts of the API.
Supported Ruby Versions
March Hare supports JRuby 9.0 or later.
Supported JDK Versions
March Hare requires JDK 8 or later.
Change Log
See [ChangeLog.md](ChangeLog.md).
Continuous Integration
CI is hosted by travis-ci.org
Testing
You'll need a running RabbitMQ instance with all defaults and management plugin enabled on your local machine to run the specs.
To boot one via docker you can use:
docker run -p 5672:5672 -p 15672:15672 rabbitmq:3-management
And then you can run the specs using rspec
:
bundle exec rspec
License
MIT, see LICENSE in the repository root
Copyright
(c) 2011-2013 Theo Hultberg (c) 2013-2022 Michael S. Klishin and contributors
*Note that all licence references and agreements mentioned in the March Hare README section above
are relevant to that project's source code only.