python cgi speedup on iis
Robert Brewer
fumanchu at amor.org
Tue Aug 24 21:58:56 EDT 2004
Charlie Taylor wrote:
> >> I'm looking for advice on how to speed up python cgi on
> Windows IIS ...
>
> Gilles Lenfant wrote:
> >Use the excellent pywin32
> >http://sourceforge.net/projects/pywin32
> >Look at the help in the "ASP and Python" section that shows
> how to register
> >Python as ASP engine...
>
> pywin32 ASP turned out to be EXACTLY what I needed.
>
> It took very little effort to convert my CGI scripts, and the
> performance
> boost was terrific.
>
> There are a few nagging issues regarding the reload of
> modified modules.
> The ASP engine often overlooks changed pyc files and
> therefore does not
> reload the modified modules (this requires IIS restarts),
> however, it is
> very good at detecting changes to the ASP files themselves.
> I've taken to
> debugging imported modules via CGI scripts to get around
> having to restart
> IIS.
I ended up writing a reload tool for admins to use from the webapp
itself. Lots of hooks here to functions you never heard of, but it
should give you the idea:
def reimport(UI):
"""Reload the requested module.
reload = module name
"""
if not UI.user in UI.application.superusers:
raise dejavu.AccessDeniedError
redir = html.RedirectPage(UI.application)
UI.write(redir.top(u'Reloading...'))
# Locate the requested module.
moduleName = UI.requestParams.get(u'module', u'')
try:
reqModule = sys.modules[moduleName]
except KeyError:
raise StandardError(u"Module '%s' could not be found." %
moduleName)
reload(reqModule)
UI.write(redir.bottom(UI.root() + u'/admin.htm'))
HTH,
Robert Brewer
MIS
Amor Ministries
fumanchu at amor.org
More information about the Python-list
mailing list