Roman Roelofsen
r.roelofsen at tuxed.de
Wed Feb 2 22:45:48 EST 2005
> Argh! I wish that mod_python would check all loaded modules for changes > as a flat rule, not as a tree... because currently it will only reload > something if I touch the handler, because the reload code sees that the > handler hasn't changed and does not bother checking the modules that the > handler uses for changes. Might as well not even use mod_python.import() > at all. > > Anyway, is there an option I can use to force the reload of the handler > module each and every time a request is made? I am only needing this for > debugging purposes, so I don't mind something that is a bit kludgey. > > Thank you! And please fix the import issue! If you are using a unix-box, the easiest way would be to "touch" the handler file. Try adding this line at the top of the handler() function in the handler file. But I didn´t tested this and it is really quick and dirty. os.system("touch " + __file__) On my system the handler calls this method on each request: def reload(): for k, v in sys.modules.items(): if v: try: path = v.__file__ except: continue userpath = os.path.dirname(__file__) if path.startswith(userpath): del sys.modules[k] This will force to reload all of my "custom" modules (nothing below /usr/lib/python). My handler is saved in the toplevel htdocs directory. This will slow down the whole request, so you should only use it in development-stage. Hope it helps! Best regards, Roman -- mail: r.roelofsen at tuxed.de
|