[Zope-dev] Re: Untrusted developers

Kyler Laird Kyler@Lairds.com
Thu, 17 Jul 2003 13:12:00 -0500


On Thu, Jul 17, 2003 at 11:10:45AM -0500, Brian Brinegar wrote:

> One of the problems with this is that users can write a script which 
> loops indefinitely. When a script gets stuck in a loop it bogs down the 
> ZEO client running it until the system kills that python process. 

We're talking about the process on the Zope, not ZEO server, right?  Does
the process continue even though the request for it has terminated?  I
think that I recall that it does.  (I don't understand why it works that
way.)  Is this true for both FastCGI and regular (proxied) HTTP requests?

Just being able to kill processes when their requests have been terminated
would improve the situation dramatically.  It would also allow termination
policies to be implemented in the front-end server (Apache).  This would
not be as nice as the suggestion you made, but we could whip up a simple
solution quickly.

Can you programmatically determine when a process is associated with a
terminated request or is it a fuzzy exercise (like watching "top" for
awhile)?  Do you use /Control_Panel/DebugInfo?  When you find it, is it 
sufficient and safe to just kill it?

--kyler