Hi,<br><br>I have been testing out txAMQP with RabbitMQ and managed to get <a href="http://www.nabble.com/attachment/19436045/0/txamqp_example.py" target="_blank">txamqp_example.py</a> working (after reading posts on this list). I have also tested out amqplib but see Twisted as a better option for my application.<br>
<br>I'm having difficulty understanding how the channel callbacks should be used in regard to consuming from queues. amqplib allows callbacks to be attached to individual queues but it appears that txAMQP only allows callbacks to be attached to a channel:<br>
<br>amqplib:<br><span style="font-family: courier new,monospace;">channel.basic_consume(queue=queue_name, callback=callback)</span><br><br>txAMQP:<br><span style="font-family: courier new,monospace;">channel.basic_consume(queue=queue_name)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">channel.deferred.addCallback(gotMessage)</span><br><br>Also, if I try to attach multiple callbacks or connect a channel to multiple queues (using basic_consume) strange things happen. Sometimes the callback is never called and other times channel.queue_declare() returns an object with a "fields" attribute set to an empty tuple rather than a triplet containing the queue name. I can't help but feel my problems stem from incorrectly using the library and not allowing for the asynchronous nature of Twisted (I am fairly new to Twisted).<br>
<br>What is the correct way to consume from multiple queues with txAMPQ? Should each channel only consume from one queue? How can I safely initialise all my channels and queues and latter consume from other queues once in operation?<br>
<br>I haven't included my code because it is convoluted and messy but if needed I can cut it down and provide it.<br><br>Thanks in advance,<br><br>David<br>