2010-08-01 89 views
0

我正在创建一个使用WSGI服务并需要每个映射的不同配置文件的映射应用程序。目前,我推出的服务有:检查特定的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配置中的任何内容,以便处理程序正确超时?

回答

2

WSGI本身并不知道哪些图层已经包装了某个应用程序,Apache也不知道这一点。我建议让wsgiHandler记录它的存在,这样就可以避免多次使用它。如果你不能改变现有的代码,你可以使用你自己的代码层的包装来做到这一点(并且直接或间接地使用环境来记录已经有效的内容)。

相关问题