Releases: GlobalNOC/GRNOC-RabbitMQ
1.2.2
1.2.1
The channels opened by this library are now QoS'd. This changes the default RabbitMQ behavior from blindly round robining messages to workers to instead deliver to workers that are idle. In most circumstances this change is uneventful, but it helps to avoid 1 in N pileup when say one particularly heavy piece of work comes through and blocks one worker for a period of time. Now other workers will continue to perform the other work instead of that one worker's queue starting to back up.
This setting is configurable in the constructors for Client and Dispatcher via the prefetch_count argument
.
GRNOC-RabbitMQ 1.2.0
Merge pull request #41 from jonstout/master bumping version number to 1.2.0
GRNOC-RabbitMQ 1.1.1
GRNOC-RabbitMQ 1.1.1
Bugs:
- When callbacks took a long time to complete or someone used a sleep inside of a callback the AnyEvent time would get lost, this is now corrected.
GRNOC-RabbitMQ 1.1.0
Changes
- When using
success_callback
, whatever is passed is returned to the user under theresults
key. When usingerror_callback
, whatever is passed is returned under theerror
key. Using these, a caller can check its response for theerror
key; If theerror
key exists a failure occurred.
Fixes
- Adds exception handling for JSON decoding in case message is improperly marshaled.
GRNOC-RabbitMQ 1.0.2
This release should be ready for production. Several issues were found related to how Async Methods were handled. Also a problem with the initial startup of the Dispatcher could lead to out of order responses and your dispatcher failing to start!
GRNOC-RabbitMQ 1.0.1
This contains several bug fixes that we found related to memory leaks
GRNOC-RabbitMQ 1.0.0
GRNOC-RabbitMQ is an inter-process RPC mechanism provided over a RabbitMQ channel. Multiple servers can listen for client requests and only one will respond. It uses a Topic based RabbitMQ exchange and the servers register methods which they listen for on the queue. A client can send a message to a given topic and a server specifically configured to listen for this message can then reply.
It uses AnyEvent for asynchronous programming purposes.