Lets keep this on the list..
Yeah, I realized I messed that up; I did forward my response to the list a couple minutes after I sent it to you.
> > are these all running as part of the same process, or are you just > > concerned > > about having two versions of CherryPy installed? > > > They aren't, at present, running at all; I'm trying to figure out how to > deploy them. Ok, so are you ultimately trying to make them all run as part of a single process?
It would be nice to have most of the serving done from one process. In case you care, here's why: When running Python under Virtuzzo (with a Red Hat or CentOS kernel), instantiating the smallest thread takes up 10mb of our memory allocation. On a virtual machine running with 256mb of assigned memory, this means that a 10-thread Python process burns up almost half our total memory. We are trying to figure out why this happens, and how we can avoid it, but so far: no luck. So we want to keep as much of the web application / serving in one process as possible. What I'd like to clarify is how Python Paste works. My understanding was that it essentially imported all of my applications into one Python interpreter, and created a "wrapper" WSGI application. I think that it has to do this, because it's passing a single WSGI environ object through the application stack. This "wrapper" WSGI application can then be served using your WSGI server of choice, which is usually Paste's scripter or Flup or similar. Upshot: All of your web applications are living in the same Python process. Which is good for resource management (they all share the same thread pool, threads get allocated to whichever web app is getting the most hits, etc.), but is bad for modularization (because it's virtually impossible to have two versions of the same library loaded into the same Python process, unless that library was designed from the ground-up to allow for this, which most are not). Am I wrong so far? So, I guess my question was, is there any way to take a WSGI application, and "wrap" it so that it gets the full WSGI environment, etc., from a Paste application stack, but so that the application is isolated into its own Python process? Thanks! -- Andrew PS - I realize that a simpler solution would be to simply have each application running in a seperate server process, and to proxy the collection behind lighttpd (I don't believe in apache). But that means that each process must have its own separate thread pool; 5 applications at 5 threads apiece consumes our entire memory pool.
_______________________________________________ Paste-users mailing list [email protected] http://webwareforpython.org/cgi-bin/mailman/listinfo/paste-users
