On 11/29/2002 01:33 PM, Ivo van der Wijk wrote:

On Fri, Nov 29, 2002 at 01:07:24PM +0100, Carlo Giomini wrote:

>Dear all,
>I need a sort of post-publishing hook (so to say). I need Zope to call a
>function of mine as the very last action of publishing a request, i.e. after
>having built the response (and sent it to the browser possibly), but
>before starting publishing a new request. My Zope server is running as a
>single-threaded app.
>Does Zope support this any way?
>


There is a way, but I find it somewhat ugly/hackish. But Shane uses it
in CookieCrumbler, so it must be good ;)
"Reliable" and "good" are not necessarily the same thing. :-) Since the only way ZODB connections ever get closed in a standard Zope setup is through the request.hold() mechanism, you can be sure that if Zope is working at all, the side effects of request.hold() are working. Relying on side effects can be dangerous, though.

You'll be working outside the REQUEST transaction at that moment, so please
keep that in mind when modifying objects.
In fact, the database connection might already be closed. If you need to read or write the ZODB, you might have to open a private connection and close it before returning. Ugh.

Shane


_______________________________________________
Zope-Dev maillist - [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists - http://lists.zope.org/mailman/listinfo/zope-announce
http://lists.zope.org/mailman/listinfo/zope )


Reply via email to