Antes de publicar esto, he leído bastantes recursos en línea, incluida la wiki mod_wsgi, pero estoy confundido acerca de cómo exactamente los procesos Apache/hilos interactúan con mod_wsgi.Interacción Apache + mod_wsgi
Este es mi entendimiento actual: Apache se puede configurar para que uno o más procesos secundarios puedan manejar solicitudes entrantes, y cada uno de estos procesos secundarios se puede configurar para usar uno o más subprocesos para las solicitudes de servicio. Después de eso, las cosas se vuelven confusas para mí. Mis dudas son:
- ¿Qué es un WSGIDaemonProcess, y quién realmente llama a mi aplicación Django utilizando el subinterpretador de python?
- Si mi aplicación Django se ejecuta en un modo en el que se permiten varios subprocesos en un solo proceso secundario de Apache, ¿significa eso que varias solicitudes podrían acceder simultáneamente a mi aplicación al mismo tiempo? De ser así, ¿podría hacer algo como establecer una variable de nivel de módulo (por ejemplo, la identificación de un usuario) sobreescrito por otras solicitudes paralelas y conducir a un comportamiento no seguro de subprocesos?
- Para el caso anterior, con el bloqueo de intérprete global de Python, ¿se ejecutarían realmente los subprocesos en paralelo?