Gunicorn的包装器,用于正确处理正常的重新启动
rainbow-saddle的Python项目详细描述
彩虹鞍
彩虹鞍是包裹在 简化代码重新加载而不删除请求。
安装
从pypi安装:
$ sudo pip install rainbow-saddle
或来源:
$ sudo ./setup.py install
为什么?
有时,执行kill -HUP <gunicorn PID>不足以重新加载 代码。例如,它不能很好地工作if you host your code behind a symlink,或者如果.pth in your installation is updated to point to a different directory。
在这种情况下重新加载代码的正确方法有点复杂:
# Reexec a new master with new workers /bin/kill -s USR2 `cat "$PID"` # Graceful stop old workers /bin/kill -s WINCH `cat "$PIDOLD"` # Graceful stop old master /bin/kill -s QUIT `cat "$PIDOLD"`
它还有一个缺点是更改“主”进程pid,这会混淆 监督等工具。
彩虹马鞍为您处理所有这些,从来没有改变它的PID。 重新加载代码变得和再次发送SIGHUP一样简单:
$ rainbow-saddle --pid /tmp/mysite.pid gunicorn_paster development.ini --log-level debug $ kill -HUP `cat /tmp/mysite.pid`
新闻
0.4.0
支持Gunicorn自19.6.0版以来使用的新二进制升级方法。滴 支持所有以前版本的Gunicorn。参见提交 benoitc/gunicorn@418f140更多信息,感谢雅各布·马格努森。
0.3.1
小python3兼容性修复,感谢justin locsei。
0.3.0
感谢拉斐尔·弗洛里亚诺·达席尔瓦所做的以下工作:
- 添加–gunicorn pidfile
- 修复慢速启动应用程序的比赛条件
- 更新psutil