Estoy ejecutando Django en Linux usando fcgi y Lighttpd. De vez en cuando (una vez al día) el servidor simplemente muere. Estoy usando la última versión estable de Django, Python y Lighttpd.¿Por qué Django fcgi acaba de morir? ¿Cómo puedo averiguarlo?
Lo único que puedo pensar es que mi programa está abriendo una gran cantidad de archivos y ejecutando muchos procesos externos, pero estoy bastante seguro de que ese lado de las cosas es hermético.
Al mirar el error y acceder a los registros, no ocurre nada excepcional (es decir, la carga no es superior a lo normal). En esas ocasiones en las que he tenido excepciones de Python, estas han aparecido en el error.log, pero cuando ocurre este bloqueo no obtengo nada.
¿Hay alguna forma de descubrir por qué murió el proceso? ¿Demasiado para poner declaraciones de registro en cada línea? Obviamente no puedo reproducir esto, así que no sé exactamente dónde mirar.
Editar
Es la django proceso que se está muriendo. Estoy corriendo el servidor con manage.py runfcgi daemonize=true method=threaded host=127.0.0.1 port=12345
¿Has buscado los archivos principales? ¿Ha establecido sus límites para permitir los archivos centrales? – jemfinch
¿Puedes simplemente ejecutar el servidor desde la línea de comandos, en un modo de depuración no demoniativo? –
Volviendo a leer la pregunta, una cosa no está del todo clara: ¿está muriendo el daemon lighttpd o su propio proceso FastCGI? – Thomas