【发布时间】:2013-07-14 14:32:19
【问题描述】:
我正在尝试部署我的应用程序,我的文件夹的组织方式意味着我只在想要部署新版本时更改符号链接。像这样:
./2013-07-16-10-12-48-test/
./2013-07-16-10-17-01-test/
./current -> 2013-07-16-10-17-01-test/
通常我会简单地使用kill -HUP master-pid,只要目录保持不变,一切都会正常工作。但是当我第一次更改符号链接然后重新加载代码时,代码仍然通过其绝对路径从旧目录运行,就像 gunicorn 遵循符号链接并保存最终路径。
我像这样启动 gunicorn:gunicorn run:app -c gunicorn-config.py 在“当前”目录中,我的配置文件如下所示:
workers = 4
worker_class = 'gevent'
bind = '127.0.0.1:5000'
pidfile = '/var/run/gunicorn.pid'
debug = False
loglevel = 'debug'
errorlog = '/var/log/gunicorn-error.log'
daemon = True
gunicorn 有没有办法重新评估符号链接或只保存符号链接而不是完整路径?也许是某种on_starting 或on_reload 钩子?
Here's 一个我无法开始工作的解决方案,也许它提供了更多上下文。
【问题讨论】:
-
你设法让它工作了吗?您提供的链接也已损坏。
-
@AJP:我将在下面添加我的解决方案作为回复 =)
-
哦,链接对我有用,奇怪..
-
嗯,它又开始工作了!感谢@moodh 的快速响应!
标签: python deployment reload symlink gunicorn