At 10:14 01/02/2002 +0100, Ulrich Wisser wrote:
Hi,
one of my reports takes more than 5 minutes. This causes Zope to produce a timeout. Although it is no good idea to let the user wait that long, I would prefer to show a result anyway. How can I set the timeout?
The problem is potentially more than just Zope. Lengthy delays may lead to the browser end disconnecting the TCP connection. Then there is the very real problem of user boredom. On a loaded server with lengthy delays, users are prone to hitting the stop and reload buttons on their browser as they imagine something has gone wrong with the first attempt because of the response delay. I do not think that Zope will kill a running thread because the browser it is responding to has dropped the connection over which the request was sent. When the application completes its work and returns to zope's response code, zope can only drop the output in the bit bucket if the connection has been dropped by the browser. The consequence is that the server can become clogged with process generating answers that nobody (now) wants to read. I have certainly seen a case with Apache using a cgi scipt to access a database where an impatient user single-handedly mounted a very effective denial of service attack, with the active cooperation of the cgi script concerned. If it takes a variable, lengthy period to generate a response you might be better changing your approach. One approach is to spawn a detached process and then immediately return a page with a link on it to a status script that can check the spawned process' status. The status script then returns either an informative message plus a link back to itself if the spawned process hasn't completed, or returns the report if it has the spawned script has run to completion and exited. With Javascript you could get even fancier in handling the retrying.
Thanks
Ulrich
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )