¿Existe una estrategia de implementación de código canónico para la implementación de aplicaciones web basadas en tornado? Nuestra configuración actual es 4 procesos de tornado detrás de NginX? (Nuestro caso de uso específico está detrás de EC2.)Implementación de código Tornado
Actualmente tenemos una solución que funciona lo suficientemente bien, mediante la cual lanzamos los cuatro procesos de tornado y guardamos los PID en un archivo en/tmp /. Tras el despliegue de nuevo código, corremos la siguiente secuencia a través de la tela:
- Hacer un git pull de la rama prod.
- Retire la máquina del equilibrador de carga.
- Espere a que todas las conexiones en vuelo terminen con un sueño.
- Elimina todos los tornados en el archivo pid y elimina todos los archivos * .pyc.
- Reinicia los tornados.
- Vuelva a conectar la máquina al equilibrador de carga.
Hemos tomado algo de inspiración de esto: http://agiletesting.blogspot.com/2009/12/deploying-tornado-in-production.html
¿Hay otras soluciones completas por ahí?