CT: Stumped was RE: [Zope] Asynchronous dtml?

Paz paz@chello.nl
Wed, 13 Jun 2001 10:51:22 +0200


Thanks for that. Its a bit ironic though, I had was hoping that i could gain
'relatively safe Zope execution context (automatic transaction management,
replicated data per
thread, conflict resolution)' : S

I have an amount of side dbms processing that can start as soon as a session
is started. It just sits stupidly in a dtml-method and is called
<dtml-var'd> by a document. Its table intensive and I've noted that Zope
crashes more. I have some strange goings on with my setup and this was one
thought I had test what the problem is. i've seen in my logs that an opening
request that is bumped by a second coming in before its finsihed can take
out zope and give 200 - ' ' (as in 200 http with no data) for a few hours
and then 503 eventually when zope realizes.

It could be anything from the PoPy drivers ./configure 's we had to
'de-linux' for irix or it could be that my site traverses are funny
somewhere (about 6 levels per page hit with session, client, interface,
content layers).

Can you tell me any tests that I can use to check into this? Its really a
general reliability problem. The site doesnt get outrageous response, but it
in the 100s per day.

Thanks to Dieter or anyone who may have some advice,
Paz

-----Original Message-----
From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of
Dieter Maurer
Sent: Tuesday, June 12, 2001 10:18 PM
To: Paul Zwarts
Cc: Zope
Subject: Re: [Zope] Asynchronous dtml?


Paul Zwarts writes:
 > If you have time consuming dtml in a method, is it possible to call the
DTML
 > method and allow it to run by itself (in paralell), where its completion
 > being independant from the page being written to the client?
This will not be easy:

  what should your DTML do?

    1. build the response to the request?
       In this case, you would need to wait for the method
       finishing before the request is completed

    2. change the data?

       in this case, you need a ZODB connection.
       These connections are the limiting factor for
       the number of Zope threads.
       As I understand, there are up to seven connections.

In principle, you can spawn a new thread for asnychronous
DTML execution. But you must be very careful, as you
may leave the relatively safe Zope execution context
(automatic transaction management, replicated data per
thread, conflict resolution).


Dieter

_______________________________________________
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 )