Как сохранить WSGI от запуска нескольких экземпляров - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть веб-приложение на python, которое я настроил в apache как:

WSGIScriptAlias ​​/ firetalk / scripts / firetalkServer2

Когда я получаю к нему доступ из javascript с использованием XMLHttpRequest, WSGI / Apache заканчиваютсязапуск нескольких экземпляров, что нарушает то, что я пытаюсь выполнить.

Итак, есть ли способ ограничить WSGI / Apache одним экземпляром указанного сценария Python?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Переведите приложение WSGI в режим демона и попросите его использовать один процесс.Обратите внимание, что это может отрицательно сказаться на производительности.

1 голос
/ 19 февраля 2012

Это больше в ответе на уточнение того, что требуется в комментарии к другому ответу.

WSGIDaemonProcess firetalk # Uses default of single process and 15 threads.
WSGIDaemonProcess django processes=5 threads=3

WSGIScriptAlias /firetalk /scripts/firetalkServer2 \
    process-group=firetalk application-group=%{GLOBAL}

WSGIScriptAlias / /scripts/djangoServer \
    process-group=django application-group=%{GLOBAL}

Приложение Firetalk перейдет в один процесс с 15 потоками.

Приложение Djangoперейдет к нескольким процессам.

Требуется mod_wsgi 3.0 или более поздней версии, так как в WSGIScriptAlias ​​используются параметры группы процессов / группы приложений.Использование опций означает, что сценарий WSGI предварительно загружается при запуске процесса.

В качестве альтернативы может использоваться:

WSGIDaemonProcess firetalk # Uses default of single process and 15 threads.
WSGIDaemonProcess other processes=5 threads=3

WSGIScriptAlias /firetalk /scripts/firetalkServer2

<Location /firetalk>
WSGIProcessGroup firetalk
WSGIApplicationGroup %{GLOBAL}
</Location>

WSGIScriptAlias / /scripts/djangoServer

WSGIProcessGroup other

Приложение Firetalk перейдет в один процесс с 15 потоками.

Другоеприложения распределяются по нескольким процессам, каждый в отдельном подчиненном интерпретаторе этих процессов.

Сценарии WSGI лениво загружаются при первом запросе.

...