Tengo una aplicación django que está ejecutando un script bash. Necesito que el servidor nginx se reinicie, así que ejecuto, lo /etc/init.d/nginx reload
que funciona muy bien. He estado usando restart uwsgi
para uwsgi pero necesito hacer una recarga elegante en lugar de reiniciar el servidor.
¿Cómo puedo hacer esto?
Actualmente estoy ejecutando una reload uwsgi
función bash a través de subprocess.popen
. Parece que solo se está recargando el proceso que llama al subproceso, no todos los sitios alojados por la instancia de uwsgi. importing uwsgi
y la ejecución uwsgi.reload
también parece afectar solo el proceso de llamada. ¿Hay un interruptor para uwsgi a través de python o bash que permita reiniciar todo el proceso de uwsgi
VISTA
Puede reiniciar uWSGI enviando la señal SIGHUP a su proceso uWSGI de la siguiente manera:
Si desea automatizar esto en un script bash, puede hacer que uWSGI escriba su identificación de proceso al proporcionar la
pidfile
opción, por ejemplo, como:Luego puede volver a cargar el proceso:
recarga táctil
También puede iniciar uWSGI con el
touch-reload
argumento, que especifica un archivo que cuando se toca hace que uWSGI se recargue:Entonces uWSGI se volverá a cargar cuando toque el archivo:
Recuerde que solo puede recargar uWSGI cuando se está ejecutando con el modo de proceso maestro, pero ese suele ser el caso.
Más información: http://uwsgi-docs.readthedocs.io/en/latest/Management.html#reloading-the-server
fuente