Ruby RabbitMQ clients blog

News and updates about various Ruby clients for RabbitMQ

Amqp Gem 0.9.10 Is Released


amqp gem 0.9.10 is released to

This release includes one bug fix. It is 100% backwards compatible.

Change Log

Delayed Queue Operations Now More Resilient to Race Conditions

With amqp gem, code like this

ch.queue("", :exclusive => true).bind(x).subscribe do |meta, payload|
  # ...

will delay queue.bind and basic.consume operations until after the server-generated queue name is known.

In some cases (e.g. WebSocket/RabbitMQ proxies), the channel may be closed before they all complete. This results in a connection-level exception (unknown channel being used) which renders the entire connection unusable.

Starting with amqp gem 0.9.10, delayed operations have a guard that prevents them from being executed if the channel is already closed.

Michael on behalf of the Ruby RabbitMQ Clients Team