<div>Hi all,<div>&nbsp;</div></div><div>I've got a double pump scenario going on - that is, my application enqueues a&nbsp;<strong>broadcast</strong> message, that then gets picked up by <strong>consumer</strong><strong> type 1</strong>, and transformed into many&nbsp;<strong>singlecast</strong> messages on a separate queue that are picked up by <strong>consumer</strong><strong> type 2. </strong>Consumer type 1 also creates and publishes a confirmation message in yet another queue, containing the number of singlecast messages it enqueued.<strong><div>&nbsp;</div></strong><div>&nbsp;</div></div><div>What's happening is that Consumer type 1 is operating fine up until it needs to enqueue the confirmation message. The first time any particular type 1 consumer publishes a confirm message, it never ends up in the confirmation queue. All singlecast messages end up correctly in their queues. If the same process is allowed to consume a second broadcast message, the confirmation it publishes <strong>does </strong>end up in the confirmation queue (seemingly every time, but this could be a red herring). Firehose trace would indicate that the consumer is doing everything it should - it shows all confirm message publishes with correct exchange and routing key, yet confirm queue remains empty.<div>&nbsp;</div></div><div>The Consumer/publisher operates as follows:<div>&nbsp;</div></div><ol><li>Initiate 2 connections (to same server, currently): "in", and "out"</li><li>Create 4 channels:</li><ol><li>bound to <strong>gn-broadcast</strong></li><li>bound to <strong>gn-smsout</strong></li><li>bound to <strong>gn-emailout</strong></li><li>bound to <strong>msg-broadcast-confirm</strong><strong></strong></li></ol><li>Consume loop begins on&nbsp;<strong>in</strong> channel consuming from&nbsp;<strong>broadcast</strong> queue</li><ol><li>Gather person list from broadcast message body</li><li>Start transactions on <strong>smsout</strong> and&nbsp;<strong>emailout</strong> channels</li><li>Loop through person list. For each, create two AMQP Messages w/ single person and publish to <strong>smsout&nbsp;</strong>and <strong>emailout</strong> queues respectively</li><li>Once finished looping, commit transaction (assuming all OK)</li><li>Create new AMQPMessage with number of persons and publish to <strong>msg-broadcast-confirm</strong> queue</li></ol></ol><div>A copy of the script is here for reference: <a href="http://pastebin.com/GH1hr1ph">http://pastebin.com/GH1hr1ph</a></div><div><div>&nbsp;</div></div><div>The php-amqplib debug output clearly shows in all cases that the basic_publish message<strong> is being sent with the correct contents of the confirmation message</strong>. There are no breaks in the connection or exceptions occurring. Likewise, the firehose trace from rabbit publishes a message to trace queue showing the confirm message has been published, with the correct exchange and correct routing key.&nbsp; However, my confirm queue is completely empty!</div><div><div>&nbsp;</div></div><div>Why would this occur? Do I need more than 2 connections? (I didn't think I would need more than 1, but the sms and email messages don't seem to publish nicely without a second connection).</div><div><div>&nbsp;</div></div><div>What on earth is going on? It's doing my head in!</div><div><div>&nbsp;</div></div><div>Rabbitmq-server version 2.8.2 running in a Turnkey LAMP VM (Ubuntu 10.04). Client is running on Mac OS X 10.6.8 with latest php-amqplib.</div><div><div>&nbsp;</div></div><div>Regards,</div><div><div>&nbsp;</div></div><div>Keith</div>