有没有针对基于Tornado的Web应用程序部署的规范代码部署策略。我们当前的配置是在NginX后面运行4个Tornado进程?(我们特定的用例是在EC2后面。)
我们目前已经有一个足够好的解决方案,即我们启动四个Tornado进程并将PIDs保存到/tmp/文件中。在部署新代码时,我们通过fabric运行以下序列:
1. 从生产分支进行git pull。 2. 从负载均衡器中删除机器。 3. 等待所有正在进行的连接完成,使用sleep命令。 4. 杀死pid文件中的所有Tornado进程并删除所有*.pyc文件。 5. 重新启动Tornado进程。 6. 将机器重新连接到负载均衡器。
我们从这里获得了一些灵感:http://agiletesting.blogspot.com/2009/12/deploying-tornado-in-production.html 还有其他完整的解决方案吗?
我们目前已经有一个足够好的解决方案,即我们启动四个Tornado进程并将PIDs保存到/tmp/文件中。在部署新代码时,我们通过fabric运行以下序列:
1. 从生产分支进行git pull。 2. 从负载均衡器中删除机器。 3. 等待所有正在进行的连接完成,使用sleep命令。 4. 杀死pid文件中的所有Tornado进程并删除所有*.pyc文件。 5. 重新启动Tornado进程。 6. 将机器重新连接到负载均衡器。
我们从这里获得了一些灵感:http://agiletesting.blogspot.com/2009/12/deploying-tornado-in-production.html 还有其他完整的解决方案吗?