[Twisted-Python] Question about processes in python

Andrew Bennetts andrew at bemusement.org
Tue Apr 13 07:55:41 MDT 2010


Itamar Turner-Trauring wrote:
> On Mon, 2010-04-12 at 14:23 -0400, Glyph Lefkowitz wrote:
> 
> > Still, I wouldn't recommend using the subprocess module in a Twisted
> > application, and multiprocessing even less.  'subprocess' uses
> > select(), which means that if you are running processes in a server
> > handling a large number of connections with a reactor that you've
> > selected for that job, you will occasionally notice that
> > '.communicate()' will blow up because your file descriptors are too
> > big to fit into a select() call.
> 
> I'm pretty sure Twisted's process.py uses select() in some cases...
> possibly on import though, which would be less of an issue, I forget.

Yeah, I don't think it's much of an issue.

It does do it on import, and then later as a fallback if that
import-time check found “broken versions of linux” where “write-only
pipe are detected as readable.”  This is apparently Linux < 2.6.11.

I suppose if someone does find it's an issue for them that it wouldn't
be too hard to fix, although perhaps they'd find it easier to simply
upgrade their OS...

-Andrew.





More information about the Twisted-Python mailing list