<div>the code is similar to the one I originally posted</div><div><br></div><div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    @queue1.subscribe(:ack =&gt; true) do |metadata, data|</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">      @channel.tx_select</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">      @channel.default_exchange.publish(data, \</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        :routing_key =&gt; @deliver_to, \</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        :persistent =&gt; true, \</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        :nowait =&gt; false)</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">      puts &#39;.&#39;</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">      @channel.tx_commit</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">      metadata.ack</font></div><div>
<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">      @channel.tx_commit # &lt;-- if not present, there is always one unacked msg in </font><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">@queue1</span></div>
</div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    end</font></div><div><br></div><div>it wasn&#39;t hanging, but because of the tx_select, the ack didn&#39;t happen until the next time the consume callback was run, which I fixed by introducing another tx_commit right after the ack. mind you, with one tx_commit right after metadata.ack I lost messages.</div>
<div><br></div><div class="gmail_quote">

On 8 July 2011 17:13, Michael Klishin <span dir="ltr">&lt;<a href="mailto:michael.s.klishin@gmail.com" target="_blank">michael.s.klishin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>2011/7/8 Michael Nacos <span dir="ltr">&lt;<a href="mailto:m.nacos@gmail.com" target="_blank">m.nacos@gmail.com</a>&gt;</span><br></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




I forgot to mention my example code hangs if I introduce @channel.tx_select and @channel.tx_commit around the publish call. I&#39;m using amqp 0.8.0rc13 + rabbit 2.4.1 &amp; 2.5.1 -- perhaps this related to how transactions work and the fact I&#39;m re-using the same channel -- should I even be doing this?</blockquote>




</div><br><br clear="all"></div>No, it sounds like a bug. Can you post a small snippet of code that reproduces the issue?<div><div></div><div><br>-- <br>MK<br><br><a href="http://github.com/michaelklishin" target="_blank">http://github.com/michaelklishin</a><br>




<a href="http://twitter.com/michaelklishin" target="_blank">http://twitter.com/michaelklishin</a><br><br>
</div></div></blockquote></div><br>