[Zope] Re: External methods & persistance and thread safety

Maik Jablonski maik.jablonski@uni-bielefeld.de
Wed, 04 Jun 2003 21:30:43 +0200


Dennis Allison wrote:
>> > Much of the heavy lifiting is done by python external methods and calls to 
>> > systems programs through the os.system() method.  It all works swimmingly 
>> > but for a couple of instances of anomolous behavior--the wrong file
>> > getting written, for example.

Maybe your application suffers from ZODB-Read/Write-Conflicts. Have a 
look into the error-log and search the archive for more info.

In short: If an object is currently in a transaction and another 
transaction is started for this object, a conflict-error occurs. 
Zope/ZODB tries 3 times to get around... Your external methods with 
os-system-calls should handle this situation or you will encounter 
"wired" problems from time to time. It's no fun to leave the holy world 
of ZODB/Zope...

Cheers, Maik