Apache Mod-Python - Commented: (MODPYTHON-37) Add apache.register_cleanup().

This is Interesting: Free IT Magazines  
Home > Archive > Apache Mod-Python > August 2005 > Commented: (MODPYTHON-37) Add apache.register_cleanup().





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Commented: (MODPYTHON-37) Add apache.register_cleanup().
Graham Dumpleton (JIRA)

2005-08-06, 2:46 am

[ http://issues.apache.org/jira/brows...action_12317831 ]

Graham Dumpleton commented on MODPYTHON-37:
-------------------------------------------

Note, attached diff has minor mistake. See following excerpt from mailing
list note this as well as a bit of documentation.

> 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, the
optional argument data can be any object (default is None). At Apache
child process termination, callable will be called with one argument, data.

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

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

def register_cleanup(handler,data=None):
_apache. register_cleanup(_interpreter,_server,ha
ndler,data)

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 of
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():
apache.log_error("shutdown1")

apache.register_cleanup(shutdown1)

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

apache.register_cleanup(shutdown2,"data")


> Add apache.register_cleanup().
> ------------------------------
>
> Key: MODPYTHON-37
> URL: http://issues.apache.org/jira/browse/MODPYTHON-37
> Project: mod_python
> Type: New Feature
> Components: core
> Versions: 3.1.4
> Reporter: Graham Dumpleton
> Priority: Minor
> Attachments: register_cleanup.diff.txt
>
> The only way to register cleanup methods to be executed upon child termination
> is through req.server.register_cleanup(). Since the cleanup method isn't specific
> to a request, it seems that there should also be an apache.register_cleanup(). This
> would allow cleanup function registration upon child termination to be done from
> a module imported using the PythonImport directive.


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com