[rabbitmq-discuss] Async Python AMQP client lib

majek04 majek04 at gmail.com
Mon Oct 12 11:16:13 BST 2009


On Mon, Oct 12, 2009 at 03:42, Sébastien <arnaudsj at gmail.com> wrote:
> I am new to using RabbitMQ and would like to know if the py-amqplib
> has a branch available with non-blocking sockets for async style amqp
> consumers & producers.
> I did see some code was shared about a year
> ago: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2008-March/000550.html
> , but I can't seem to see it integrated in the current source
> available in the mercurial repository.

Hi!

First, Alexis has a bunch of interesting links:
http://delicious.com/alexisrichardson/rabbitmq+python

The non-blocking code for py-amqplib was added to mainline for
a while, but later removed. I did some hacking on py-amqplib
to make non-blocking consuming, but to be frank, it barely works:
http://code.google.com/p/evserver/source/browse/trunk/evserver/examples/django_chat/views.py#68
(the hack there is to make py-amqplib socket non-blocking,
and catch exceptions from deep inside amqplib)


> I have looked at tx-amqplib, but I don't like the heavy dependencies
> on twisted, zope, etc...

I'm afraid tx-amqp is the most mature in async amqp-python world.
It's pretty nice to work with, once you get started. But
getting started with twisted is not always a nice experience.
Though, I do recommend tx-amqp.

Cheers!
  Marek Majkowski




More information about the rabbitmq-discuss mailing list