Esiste una strategia di distribuzione del codice canonico per la distribuzione di applicazioni Web basate su tornado. La nostra attuale configurazione è di 4 processi di tornado in esecuzione dietro NginX? (Il nostro caso d'uso specifico è dietro EC2.)Distribuzione del codice Tornado
Attualmente abbiamo una soluzione che funziona abbastanza bene, per cui lanciamo i quattro processi di tornado e salviamo i PID in un file in/tmp /. Dopo aver distribuito il nuovo codice, eseguiamo la seguente sequenza via fabric:
- Fai un tiro di git dal ramo prod.
- Rimuovere la macchina dal servizio di bilanciamento del carico.
- Attendere che tutte le connessioni in volo terminino con una sospensione.
- Elimina tutti i tornado nel file pid e rimuovi tutti i file * .pyc.
- Riavvia i tornado.
- Collegare la macchina alla bilancia di carico.
Abbiamo preso qualche ispirazione da questo: http://agiletesting.blogspot.com/2009/12/deploying-tornado-in-production.html
Esistono altre soluzioni complete là fuori?