Andy Yates wrote:
I have a form that posts to a python script which can take several seconds to run. Sometimes the script gets called 2 or 3 times in the same request. It is not easy to reproduce but it seems to happen at least once every 20 requests. This is happening on two different versions of Zope and in two completely different projects.
As Chris mentioned already, this a typical problem of Read-Conflicts in the ZODB, which rolls back transactions and start them over again. Unfortunately the "standard" MailHost isn't transactional, so mails which are produced in the transaction are sent out, regardless if the transaction gets stopped. Use the very, very useful MaildropHost from Jens Vagelpohl as a transactional replacement for the standard MailHost. http://www.dataflake.org/software/maildrophost/ I've suffered a lot with the standard MailHost and "trippled" mails, but now I'm sending thousand of thousand mails / day without anything doubled or trippled...:) IMHO: MaildropHost should be the standard MailHost...:) Cheers, Maik