[Zope] Re: Zope hangs during load (Panic!)

Max M maxm at mxm.dk
Thu Mar 4 09:57:18 EST 2004


Petter Holmström wrote:

> As I've alrady said, the problem is already solved in a way. Some of my 
> external methods caused it (why they did it I don't know), but if you 
> still think this might be a bug in Zope I'll give you the backtrace with 
> debug information.


I think it is caused by a read conflict. Did you get and set the lock 
correctly before calling the command line tools?

Because you did set up locks around them. Didn't you ;-)

Under high loads you can risk different request calling the same command 
line tools several times, which one gets the answer then?

Normally Zope handles concurrency, but it is not able to with command 
line calls.

You would need to do it something like (untested):


########################################

import os
from threading import Lock

l = Lock()

def lockedPopen(command):
     l.acquire()
     try:
         result = os.popen(command).read()
         return result
     finally:
         l.release()


# external method
def doFileListing(self):
     return lockedPopen('ls')

########################################



regards Max M





More information about the Zope mailing list