← Back to team overview

nova team mailing list archive

Re: Twisted or Eventlet?


On Mon, Aug 02, 2010 at 05:21:23PM -0500, Eric Day wrote:
> I took a closer look at the inner workings of how Twisted is currently
> being used, and I think there is still a good chunk of work to be done
> to make things work properly. For example, both Redis and AMQP modules
> are not using the Twisted I/O event loop. Both are still issuing sync
> socket calls in their own libs which could block the entire
> application.

Yup, this definitely needs fixing.

> These things are very doable in Twisted, it will just require using
> the txRedis and txAMQP modules. It will also introduce more deferreds
> into the mix since we'll have non-blocking connections dependent on
> each other. From this perspective, Eventlet may be easier since we
> could still use the current libraries by patching
> (http://eventlet.net/doc/patching.html).

Yes, both python-redis and python-amqplib use Python's standard socket
module, so they can be patched.

Does anyone know how eventlet would deal with libvirt calls?
python-libvirt just calls into libvirt obviously doesn't use Python's
socket module.

Soren Hansen
Systems Architect
The Rackspace Cloud

Follow ups