[mod_python] How to make mod_python know when Apache is shutdown/restarted?

Graham Dumpleton grahamd at dscpl.com.au
Sat Aug 6 00:13:06 EDT 2005

On 06/08/2005, at 1:47 PM, Scott Chapman wrote:

> Graham Dumpleton wrote:
>> On 06/08/2005, at 10:26 AM, Scott Chapman wrote:
>>> Graham Dumpleton wrote:
>>>> BTW, almost have a working version of apache.register_cleanup() 
>>>> going anyway
>>>> if you want to try it when I am done. Means modify mod_python 
>>>> source though.
> I downloaded svn, patched it and compiled it.  Got a lot of warnings 
> about things being redefined but it's running fine so far.  I need to 
> know what all parameters apache.register_cleanup() is expecting.

Just like you had called req.register_cleanup() except that cleanup
handler is called on server shutdown like req.server.register_cleanup().

  register_cleanup(callable[, data])

    Registers a cleanup. Argument callable can be any callable object, 
    optional argument data can be any object (default is  None). At 
    child process termination, callable will be called with one 
argument, data.

    If errors are encountered during cleanup processing, they should be 
    error log.

Note that I have actually made a minor mistake in the code. In 
the prototype should be:

   def register_cleanup(handler,data=None):

I used "args=()" which isn't technically correct but only in as much as
I used "()" instead of "None". I was thinking you could supply a tuple 
arguments whereas you can actually only supply a single argument. What I
did wouldn't have stopped it working though.

Anyway, you should be able to do:

   def shutdown1():


   def shutdown2(data):
       apache.log_error("shutdown2 %r"%data)



More information about the Mod_python mailing list