Я застрял и отчаялся.
Можно ли обслуживать несколько веб-приложений на Python в нескольких разных доменах, используя virtualhost на cherrypy?Хм, подождите ... Я отвечу себе: да, это возможно.С диспетчером виртуальных хостов это возможно, пока мне не потребуется:
Мне нужно использовать больше экземпляров одного и того же приложения, но в разных версиях.Это означает, что мне нужно как-то разделить пространство имен для python import
для этих приложений.
Пример: у меня есть приложение MyApp
, и есть две версии.У меня есть два домена app1.com
и app2.com
.Когда я получаю доступ к app1.com
, я хотел бы получить приложение MyApp
в версии 1. Когда я получаю доступ к app2.com
, оно должно быть MyApp
в версии 2.
Я сейчас использую VirtualHostDispatcher
из cherrypy 3.2
, и проблема в том, что когда я использую импорт из методов MyApp
версии 1 и MyApp
версии 2, загруженных ранее, python будет использовать уже импортированный модуль (из-за кеша модуля).
Да .. можно импортировать и очищать кэш модуля Python каждый раз (я использую это для создания экземпляров объекта приложения верхнего уровня), но это кажется мне довольно нечистым ... И я думаю, чтоэто также неэффективно ...
Итак, что вы мне порекомендуете?Я думал об использовании apache2 и cherrypy с использованием Mod_WSGI, но кажется, что это не решает проблему import
, потому что есть еще один процесс python для всех приложений togetger.
Может быть, я думаю оВся проблема совершенно неверна, и мне нужно будет ее переосмыслить.Я открыт для каждой идеи или совета.Единственное ограничение - я хочу использовать Python 3. Все остальное еще открыто для обсуждения: -)
Спасибо за каждый ответ!