[rabbitmq-discuss] Published message not queued after publish-ok received when connection quickly closed
    Simon MacMullen 
    simon at rabbitmq.com
       
    Fri May  6 10:43:19 BST 2011
    
    
  
Hi Elias.
On 05/05/11 22:33, Elias Levy wrote:
> While writing some code using the Ruby AMQP gem against RabbitMQ, I've
> noticed that if I publish a message and quickly close the connection,
> even though I've received a publish-ok response from the server, the
> message fails to be queued by the broker.
I'm not at all familiar with the Ruby client, but I should point out 
that unlike many of the other AMQP methods, basic.publish does not have 
a corresponding basic.publish-ok method; it's always asynchronous. So I 
imagine the post-publish callback fires immediately.
In order to be able to know when the broker has taken responsibility for 
a message you can either wrap the publish in a transaction (when you see 
tx.commit-ok you know the server has the message) or use the rather more 
lightweight publish confirms:
http://www.rabbitmq.com/blog/2011/02/10/introducing-publisher-confirms/
...but I'm not sure if they are supported by the Ruby gem yet (Jakub, 
can you comment?)
Cheers, Simon
-- 
Simon MacMullen
Staff Engineer, RabbitMQ
SpringSource, a division of VMware
    
    
More information about the rabbitmq-discuss
mailing list