[rabbitmq-discuss] Wrapping pika callbacks, why ?
Stephen Young
stephen.t.young at gmail.com
Mon Aug 13 14:46:05 BST 2012
On Monday, August 6, 2012 10:29:00 AM UTC-4, Raphaël De Giusti wrote:
>
> Hi everyone,
>
> I'm interested in running pika's IOLoop in a thread and I came across this
> code sample :
> http://cms02.phys.ntu.edu.tw/tracs/env/browser/trunk/messaging/pika/mon.py
>
> I was wondering why and what could be the advantages of wrapping the
> callbacks in methods (I can understand the on_exchange_declared() method
> that returns a different callback according to thread's name) ?
>
Advantages would be allowing the class to have direct access to the
connection object, and being able to add custom functionality to the
callbacks as needed - for example, passing custom headers when declaring
exchanges and queues (if you want to use some of the other awesome RabbitMQ
features like high availability, ttl, dead letter exchanges)
> Another question is why considering multiprocessing over threading in this
> case ?
>
Multiprocessing is a way of getting around the GIL, which can make your
application actually act in parallel. Threaded python cannot actually
execute concurrent threads.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120813/8690b7ca/attachment.htm>
More information about the rabbitmq-discuss
mailing list