Прежде чем публиковать это, я прочитал немало ресурсов в Интернете, в том числе mod_wsgi wiki, но я смущен тем, как именно процессы и потоки Apache взаимодействуют с mod_wsgi.
Это мое настоящее понимание: Apache можно настроить таким образом, чтобы один или несколько дочерних процессов могли обрабатывать входящие запросы, и каждый из этих дочерних процессов можно настроить, в свою очередь, использовать один или несколько потоков для обслуживания запросов. После этого вещи начинают становиться туманными для меня. Мои сомнения:
- Что такое WSGIDaemonProcess и кто на самом деле вызывает мое приложение Django с помощью суб-интерпретатора python?
- Если у меня есть приложение Django, работающее в режиме, когда разрешено несколько потоков в одном дочернем процессе Apache, означает ли это, что несколько запросов могут одновременно обращаться к моему приложению? Если это так - сделало бы что-то вроде установки переменной уровня модуля (например, идентификатора пользователя), можно было бы переписать другие параллельные запросы и привести к безопасному поведению в потоке?
- В случае выше, с блокировкой глобального интерпретатора Python, будут ли потоки фактически выполняться параллельно?