I saw Chris mention process management in the #repoze channel, but he'd 
left.  Anyway, I thought you guys might find this to be interesting: 
/home/ianb/src/colorstudy/OLPCServer/olpcserver/spawn.py (not a final 
resting place; that whole package is now in 
http://dev.laptop.org/git?p=library/library-activity;a=tree;f=webserver/olpcwebserver;h=d6277c04e2b94a05408586387a349855ff3f2c72;hb=HEAD
 
and I move it into WSGIProxy as well.  The process management isn't 
great, and maybe something like zdrun would be better, but for this 
particular case I also want to keep it very small (in WSGIProxy it could 
be larger).

So basically it's an application that starts a subprocess on demand, and 
can also shut it down when idle.  It could probably be fit together with 
Paste Deploy to run the whole thing like:

   [app:in-subprocess]
   use = egg:XXX#subprocess
   application = other_section (or config:other_file.ini)
   # and possibly:
   virtualenv = /path/to/virtualenv

And it would figure out all the stuff to load up the subprocess, put in 
the right filtering of the environment, and do it with the right 
interpreter if you give a virtualenv.  Right now you have to do that 
stuff somewhat manually.  It would also be great if it could use named 
sockets instead of ports, or even just stdin/stdout or something like 
that (maybe with SCGI?) so that there's less stuff globally allocated 
like port numbers.

I've been putting some of this sort of stuff in WSGIProxy 
(http://svn.pythonpaste.org/Paste/WSGIProxy/trunk), but that package is 
kind of a mess -- I've extracted stuff into it, but not really 
consolidated what's there.

I've been thinking about this sort of thing for a while, but never got 
around to it, but for a server running on the XO/OLPC laptop 
specifically it seemed particularly useful, since it lets the main 
server be very small while occasionally-used applications can be started 
on demand then cleaned up entirely.

-- 
Ian Bicking : [EMAIL PROTECTED] : http://blog.ianbicking.org

_______________________________________________
Paste-users mailing list
[email protected]
http://webwareforpython.org/cgi-bin/mailman/listinfo/paste-users

Reply via email to