[Twisted-Python] Multiple main loops

David Pratt fairwinds at eastlink.ca
Thu May 4 07:03:24 MDT 2006


glyph at divmod.com wrote:
> 
> 
> On Wed, 03 May 2006 20:32:26 -0300, David Pratt <fairwinds at eastlink.ca> 
> wrote:
>> Hi Phil. I am pleased about the zope and twisted integrated in zope3. 
>> I believe there can be a tighter integration and additional benefits. 
>> Zope currently uses a twisted loop to run the application and an 
>> asyncore loop for zeo communication. These are both initialized at 
>> start up. What I would like to see, is ansyncore replaced with a 
>> second twisted loop. I would also like the zeo server to be a twisted 
>> app that runs zrpc. Twisted's ssh and ssl support would be used to 
>> secure client / server communication.
> 
> Why is a second event-loop necessary here?
> 
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> 

Hi Glyph. I believe that performance would suffer using a single loop. I 
am not aware of any evaluation to provide evidence of the extent of the 
impact this would have. zrpc has never been refactored in twisted to 
date, though I have recently suggested this. My general feeling is that 
a different syncing solution is most likely needed. The existing zeo 
client / server relationship has limitations, one of these being the 
granularity desired in the communication longer term. My inclination 
more recently has been to leave zeo alone and work with something 
different that might present an alternative.

The thought of using the existing reactor for communication and serving 
has not escaped me. Once I have a syncing server working in twisted with 
whatever protocol I use, I will have the chance to evaluate performance 
on a couple of levels. This discussion for me has a bit more to do with 
possibilities and exploring boundaries at this point. Googling for 
information, I came across the patch that also suggested the possibility 
of multiple independent reactors. This possibility is interesting to me, 
  even outside of zope.

Regards,
David




More information about the Twisted-Python mailing list