On Jan 22, 2013, at 1:58 PM, Ask Solem &lt;ask at <a href="http://rabbitmq.com">rabbitmq.com</a>&gt; wrote:<br><br>&gt; I could help you review the code as I have lots of experience optimizing<br>&gt; this pattern and Python consumers.<br>
<br>It would be great if you could review the code.  Here is where the Kombu interface is implemented in OpenStack<br><br><a href="https://github.com/openstack/nova/blob/master/nova/openstack/common/rpc/impl_kombu.py">https://github.com/openstack/nova/blob/master/nova/openstack/common/rpc/impl_kombu.py</a><br>
<br>Roughly, the RPC call is sent by TopicPublisher (caller), then received by TopicConsumers (callee).  The response is sent by DirectPublisher (callee) and received by DirectConsumer (caller).  In real time, the consumes happen before the publishes.<br>
<br>The RPC calls to impl_kombu.py come from amqp.py. which is simply a common higher level set of methods that either calls methods from impl_kombu.py or impl_qpid.py depending upon which implementation is configured.<br>
<br>Ray<br><br>