página wsgi-servido no se actualiza
Pregunta
Hace poco me llamó mi primera aplicación para el trabajo en uWSGI con Cherokee. He utilizado el siguiente código tomado de la uWSGI docs :
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
yield 'Hello World\n'
La página se lee correctamente Hello World
. Cuando cambio que el texto a New Thing
y actualización, nada cambia. Lo que me estoy olvidando?
Lo que he intentado:
- historial del navegador compensación y caché
- detener e iniciar Cherokee
Editar: Para aclarar, yo cambio
Hello World
a New Thing
en el código Python. Entonces dejo de Cherokee, refrescar, y, obviamente, aparece un mensaje de error. Recomienzo Cherokee, refrescar, y veo Hello World
.
Solución
Así que la forma en que esto funciona es que Cherokee está gestionando una instancia uwsgi se ejecuta en segundo plano para usted. Lo que he notado hasta ahora, y no he terminado de mirar, es que si se cierra Cherokee no parece que cerrar también cayó ejecutar sesiones uwsgi.
Prueba esto:
sudo service cherokee start
ps aux | grep uwsgi
# you should see nothing from this ps command
# now hit your web app
sudo service cherokee stop
ps aux | grep uwsgi
# you should see the instance of uwsgi that cherokee started
Así que el código de aplicación se ejecuta realmente a través de uwsgi y Cherokee es más como un servidor proxy. Con el fin de actualizar el código de aplicación que necesita para enviar la señal HUP a uwsgi, no Cherkee.
sudo killall -HUP uwsgi
Esto debería causar uwsgi para actualizar a su aplicación cambia independientemente de Cherokee.