This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author asksol
Recipients asksol, jafo, jnoller, nirai, sbt, ysj.ray
Date 2012-06-07.20:57:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1339102668.87.0.500179191549.issue10037@psf.upfronthosting.co.za>
In-reply-to
Content
Later works, or just close it.  I can open up a new issue to merge the improvements in billiard later.

> The execv stuff certainly won't go in by Py3.3.  There has not been 
> consensus that adding it is a good idea.

> (I also have the unit tests passing with a "fork server": the server >process is forked at the beginning of the program and then forked >children of the server process are started on request.  It is about 10 >times faster then using execv, and almost as fast as simple forking.)

Ah, a working 'fork server' would be just as good.
Btw, Billiard now supports running Pool without threads, using epoll/kqueue/select instead. So Celery uses that when it can be nonblocking, and execv when it can't.  It performs way better without threads, and in addition shutdown + replacing worker processes is much more responsive.  Changing the default Pool is not going to happen, but ncluding a simple select() based Pool would be possible, and then it could also easily work with Twisted, Eventlet, Gevent, etc. (especially now that the Connection is rewritten in pure python).
History
Date User Action Args
2012-06-07 20:57:48asksolsetrecipients: + asksol, jafo, jnoller, nirai, ysj.ray, sbt
2012-06-07 20:57:48asksolsetmessageid: <1339102668.87.0.500179191549.issue10037@psf.upfronthosting.co.za>
2012-06-07 20:57:48asksollinkissue10037 messages
2012-06-07 20:57:47asksolcreate