2010-08-01 5 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 

이것은 분명히 너무 많은 핸들러를 시작합니다! 특정 처리기가 이미 실행 중인지 어떻게 확인할 수 있습니까? 처리기가 제대로 시간을 초과하도록 조정할 필요가있는 설정이 아파치에 있습니까?

답변

2

WSGI는 이미 특정 응용 프로그램을 래핑하고있는 레이어를 알 수 없으며 Apache도이를 알고 있지 않습니다. wsgiHandler의 존재를 기록하여 여러 번 사용하지 않는 것이 좋습니다. 기존 코드를 변경할 수없는 경우 해당 코드의 래퍼로 직접 코드를 변경할 수 있습니다 (이미 활성화 된 내용을 기록하기 위해 직접 또는 간접적으로 환경을 사용하십시오).

관련 문제