<div dir="ltr"><div class="gmail_default" style><font face="tahoma, sans-serif">HI Michael,</font><br><br><font face="tahoma, sans-serif">Thanks, but I need some more clarification. Right now I have durable exchange and auto delete is set to false for the queue. So I assumed that RabbitMq will re-publish the message automatically, whenever RabbitMq recovered from failover case. My question is how can I make publish the message(from producer to RabbitMq broker), when some exceptions occurred while publishing the message to rabbitMq channel. Below is my sample code for it.</font><br>

<br><br><div class="gmail_default" style><font color="#999999" face="courier new, monospace"><i>ch1  = AMQP::Channel.new($connection)</i></font></div><div class="gmail_default" style><font color="#999999" face="courier new, monospace"><i>@ns_x = ch1.direct(ns_exchange, :durable => true)</i></font></div>

<div class="gmail_default" style><font color="#999999" face="courier new, monospace"><i>@ns_queue   = ch1.queue(ns_queue, :auto_delete => false)</i></font></div><div class="gmail_default" style><font color="#999999" face="courier new, monospace"><i>@ns_queue.bind(@ns_x, :routing_key => @<a href="http://ns_queue.name">ns_queue.name</a>).subscribe(:ack => true, &method(:handle_ns_message))</i></font></div>

<div class="gmail_default" style><font color="#999999" face="courier new, monospace"><i><br></i></font></div><div class="gmail_default" style><font face="courier new, monospace" color="#000000"><i>## How can I redo this whenever some exceptions/failure occurred</i></font></div>

<i><font color="#999999" face="courier new, monospace">@ns_x.publish(payload,  :routing_key =>@<a href="http://ns_queue.name">ns_queue.name</a>, :headers => headers, :mandatory => true)  <br><br><br></font></i></div>

</div><div class="gmail_extra"><br clear="all"><div><font style="font-family:tahoma,sans-serif" face="tahoma, sans-serif">regards,<br>Loganathan<br>Mob: +91 7760780741 | +91 9944414388<br>Skype: loganathan.sellappa<br></font><span style="font-family:tahoma,sans-serif"><a href="http://vizualize.me/loganathan" target="_blank">ViewMe</a></span><br>

<br></div>
<br><br><div class="gmail_quote">On Mon, Apr 28, 2014 at 4:00 PM, Michael Klishin <span dir="ltr"><<a href="mailto:mklishin@gopivotal.com" target="_blank">mklishin@gopivotal.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="">On 28 April 2014 at 11:44:52, Loganathan Sellapa (<a href="mailto:loganathan.ms@gmail.com">loganathan.ms@gmail.com</a>) wrote:<br>
> > I would like to know how the error handling is done for "publish<br>
> message". I want to retry the publish message when some exception/failure<br>
> occurred on RabbitMq? I checked the examples on ruby amqp gem<br>
> but unable to find the proper example for republishing the message<br>
> on error.<br>
<br>
</div><a href="http://www.rabbitmq.com/confirms.html" target="_blank">http://www.rabbitmq.com/confirms.html</a><br>
<a href="http://rubyamqp.info/articles/rabbitmq_extensions/" target="_blank">http://rubyamqp.info/articles/rabbitmq_extensions/</a> <br>
<a href="https://github.com/ruby-amqp/amqp/blob/master/examples/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb" target="_blank">https://github.com/ruby-amqp/amqp/blob/master/examples/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb</a><br>


--<br>
MK<br>
<br>
Software Engineer, Pivotal/RabbitMQ<br>
</blockquote></div><br></div>