я пытаюсь загрузить разные приложения (webapp2.WSGIApplication) в зависимости от домена запроса.например, www.domain_1.com должен загрузить приложение в app1.main.application, в то время как www.domain_2.com должен загрузить app2.main.appplication.
конечно, я в том же приложении GAE и использую пространства имен для разделения приложенийdata.
это работает довольно хорошо с 'threadsafe: false' и файлом runner.py, где функция определяет, какое приложение вернуть
, кажется, что при 'threadsafe: true' первый запросзагружает wsgiapplication в экземпляр и дальнейшие запросы больше не выполняют логику «диспетчеризации приложений», поэтому запрос получает ответ от неправильного приложения.
im, использующий python2.7 и webapp2
whatлучший способ сделать это?
edit:
очень упрощенная версия моего runner.py
def main():
if domain == 'www.mydomain_1.com':
from app_1 import application
namespace = 'app_1'
elif domain == 'www.domain_2.com':
from app_2 import application
namespace = 'app_2'
namespace_manager.set_namespace(namespace)
return wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
и в app.yaml
- url: /.*
script: app-runner.py