[rabbitmq-discuss] anyone using Twisted?

Esteve Fernandez esteve at sindominio.net
Thu Sep 11 15:25:32 BST 2008


Hi all,

sorry for chimming in so late, I just came back from holidays.

On Thu, Aug 21, 2008 at 7:10 PM, Paul C. Nendick <paul.nendick at ...> wrote:
> Some observations about txamqp:
> * it's very alpha and clearly incomplete

Although I'm not sure if I would label it production-ready, I'd definetely say 
it's beta quality code and fairly complete. What features would you like to 
see? The testsuite already covers extensively both 0.8 and 0.9 specs, so I 
don't know what else can be added. We'll adapt it to Qpid M3, once it's 
released.

> * it's fundamentally misunderstood the way AMQP  routes of messages
> over separate channels. Deferred calls often don't fire since txamqp
> is waiting for the response on the wrong channel. Oops!

Can you provide a testcase for this? I cannot reproduce the bug. Find attached 
an example that creates 5 channels and 5 different consumers, messages are 
sent and received to/from the right channel. The example works with Qpid M2 
and Rabbit 1.4.0, but not with OpenAMQ (as it doesn't implement multiple 
channels).

> * txamqp is multi-threaded. Tsk tsk, this is a no-no for twisted
> protocol handlers

Nope, it's not multi-threaded, please take a look at the code. We use Qpid for 
autogenerating the AMQP classes and methods, but not for reading/writing from 
sockets or for queueing messages (we use DeferredQueues instead).

> * the txamqp unit tests are very good and quite easy to adapt to be
> made asynchronous

Thanks, but all credit goes to the Qpid crew, we simply adapted the testsuite 
to use Deferreds. However, it's already asynchronous, notice that it uses the 
inlineCallbacks idiom, which makes code look as if it was sequential without 
blocking the reactor.

> We've resolved these and other issues. In the end, it will help me
> open source the code to know the level of your interest in it. I'll
> announce any news on this list.

Since txAMQP does not use threads and channels do work, I hope you reconsider 
your opinion about txAMQP. Anyway, what actual issues did you find? The 
Launchpad project page [1] includes a bug section [2] and we would be glad to 
hear about what could be improved. If you want to contribute some code, I'll 
happily add you to the txAMQP team.

Cheers.

1 - https://launchpad.net/txamqp
2 - https://bugs.launchpad.net/txamqp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: txamqp_example.py
Type: application/x-python
Size: 3033 bytes
Desc: not available
Url : http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20080911/08ee5000/attachment.bin 


More information about the rabbitmq-discuss mailing list