我正在创建一个使用WSGI服务的地图应用程序,每个地图需要不同的配置文件。目前,我使用以下命令启动该服务:
import os, sys
tilecachepath = '/usr/local/lib/python2.6/dist-packages/TileCache-2.10-py2.6.egg/TileCache'
sys.path.append(tilecachepath)
from TileCache.Service import Service, wsgiHandler
from paste.request import parse_formvars
theService = {}
def wsgiApp (environ, start_response):
global theService
fields = parse_formvars(environ)
cfgs = fields['cfg']
theService = Service.load(cfgs)
return wsgiHandler(environ, start_response, theService)
application = wsgiApp这显然启动了太多的处理程序!如何确定特定的处理程序是否已经在运行?apache配置中是否有需要调整的内容,以便处理程序正确超时?
发布于 2010-08-01 08:58:13
WSGI本身没有提供知道哪些层已经包装了某个应用程序的方法,Apache也不知道这一点。我建议让wsgiHandler记录它的存在,这样您就可以避免多次使用它。如果不能修改现有代码,可以使用自己的代码层包装器(并使用环境,直接或间接地记录已经激活的代码)。
https://stackoverflow.com/questions/3380303
复制相似问题