Когда apache2 выполняет сценарий .wsgi при использовании групп процессов демона?

Учитывая простой apache2 conf, как показано ниже, когда будет выполняться django.wsgi? Кажется, что он выполняется только при первом поступлении запроса и никогда больше. Я ожидал, что он запустится при запуске apache и больше никогда. Кто-нибудь может пролить свет на то, как это работает?

WSGIDaemonProcess site-1 user=user-1 group=user-1 threads=25
WSGIProcessGroup site-1

WSGIScriptAlias / /usr/local/django/mysite/apache/django.wsgi

<Directory /usr/local/django/mysite/apache>
Order deny,allow
Allow from all
</Directory>

person astletron    schedule 25.05.2013    source источник


Ответы (1)


Файлы сценария WSGI технически не выполняются, а импортируются. Таким образом, они, как и любой другой модуль в Python, загружаются один раз. В этом случае это происходит, когда запрос поступает впервые и требуется приложение, отображаемое этим файлом сценария WSGI.

После загрузки объект приложения WSGI выполняется один раз за запрос.

Есть некоторые исключения из этого, что касается перезагрузки файла сценария WSGI при определенных обстоятельствах. Для объяснения этого прочтите:

Теперь, хотя он загружается первым, чего требует запрос, вы можете принудительно загрузить его при запуске процесса с помощью директивы WSGIImportScript:

или использование параметров группы процессов и группы приложений вместе с директивой WSGIScriptAlias. Последний был представлен в mod_wsgi 3.o.

person Graham Dumpleton    schedule 25.05.2013