龙卷风代码部署

Naf*_*mal 7 python deployment tornado fabric

是否存在基于龙卷风的Web应用程序部署的规范代码部署策略.我们目前的配置是在NginX后面运行的4个龙卷风进程?(我们的具体用例是EC2背后的.)

我们目前有一个运行良好的解决方案,我们启动四个龙卷风进程并将PID保存到/ tmp /中的文件.部署新代码后,我们通过fabric运行以下序列:

  1. 从prod分支做一个git pull.
  2. 从负载平衡器中卸下机器.
  3. 等待所有飞行中的连接完成睡眠.
  4. 杀死pid文件中的所有龙卷风并删除所有*.pyc文件.
  5. 重启龙卷风.
  6. 将机器连接回负载平衡器.

我们从中获得了一些灵感:http://agiletesting.blogspot.com/2009/12/deploying-tornado-in-production.html

那里还有其他完整的解决方案吗?

Ben*_*den 0

我还没有在生产中部署 Tornado,但我一直在使用 Gevent + Nginx,并使用Supervisord进行流程管理 - 启动/停止/重新启动、日志记录、监控 - Supervisorctl 对此非常方便。就像我说的,这不是一个部署解决方案,但也许是一个值得使用的工具。