Recientemente he creado una página de control de versiones desde mi aplicación para administrar el proceso de implementación.Gunicorn :: volver a cargar desde la propia aplicación
(Sí, lo sé, GitHub + ganchos son mejores que volver a escribir desde cero, sino que están en Irán y nuestro gobierno amada ha bloqueado todas las conexiones ssh a fuera del país:.. (()
Hay es una acción de fusión + recarga en la página. La fusión funciona como las otras partes, pero la parte de recarga falla sin ningún mensaje. He añadido una fila sudo para el comando kill y el usuario del proceso de trabajo tiene suficiente permiso. Incluso ejecuté el código de shell django y recargó el proceso.
¿Hay alguna restricción para recibir señales, como que los trabajadores no puedan volver a cargar su master?
Así es como los correspondientes códigos:
def command(x):
return str(Popen(x.split(' '), stdout=PIPE).communicate()[0])
pid = open(PATH + "/logs/gunicorn.pid").readline().strip()
cmd = "sudo kill -HUP %s" % pid
content += command(cmd)