Проверьте, работает ли определенный обработчик wsgi - PullRequest
0 голосов
/ 01 августа 2010

Я создаю картографическое приложение, которое использует службу 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, которое мне нужно настроить, чтобы время ожидания обработчиков правильно?

1 Ответ

2 голосов
/ 01 августа 2010

WSGI сам по себе не предлагает способа узнать, какие слои уже обертывают определенное приложение, и Apache об этом не знает. Я бы порекомендовал записать wsgiHandler его присутствие, чтобы вы могли избежать его многократного использования. Если вы не можете изменить существующий код, вы можете сделать это с помощью своих собственных оболочек для слоя этого кода (и использовать среду, прямо или косвенно, для записи того, что уже активно).

...