./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运行:在“当前”目录中的app -c gunicorn-config.py,我的配置文件如下所示:
workers = 4worker_class = 'gevent'bind = '127.0.0.1:5000'pIDfile = '/var/run/gunicorn.pID'deBUG = Falseloglevel = 'deBUG'errorlog = '/var/log/gunicorn-error.log'daemon = True
有没有办法让gunicorn重新评估符号链接或仅保存符号链接而不是完整路径?也许在某种on_starting或on_reload挂钩?
Here’s一个我无法开始工作的解决方案,也许这会提供更多的背景信息.
解决方法 我使用 USR2 signal得到了这个工作.这是我的init.d文件,在部署之后,我将运行service gunicorn start_or_reload,它可以根据新位置启动或优雅地重新加载代码.它在技术上产生了当前主人内部的另一个主人,然后杀死了旧工人和主人,最后促进了新产生的主人.我使用这个解决方案后来添加了烟雾测试,然后杀死了老主人和类似的东西.我希望这可以帮助别人!
#!/bin/sh### BEGIN INIT INFO# ProvIDes: thin# required-Start: $local_fs $remote_fs# required-Stop: $local_fs $remote_fs# Default-Start: 2 3 4 5# Default-Stop: S 0 1 6# Short-Description: thin initscript# Description: thin### END INIT INFO# Original author: Forrest Robertson# Do NOT "set -e"DEPLOY_PATH=/opt/project/currentPID_FolDER=/var/run/gunicornPID_file=$PID_FolDER/project.pIDolD_PID_file=$PID_FolDER/project.pID.oldbinstart() { cd $DEPLOY_PATH && gunicorn run:app -c gunicorn-config.py}stop() { if [ -f $PID_file ] then kill `cat $PID_file` rm $PID_file fi}reload() { kill -USR2 `cat $PID_file` sleep 1 kill -QUIT `cat $olD_PID_file` rm $olD_PID_file}start_or_reload() { if [ -f $PID_file ] then reload else start fi}case "" in start) echo "Starting server..." start ;; reload) echo "Reloading server..." reload ;; stop) echo "StopPing server..." stop ;; restart) echo "Restarting server..." stop && sleep 1 && start ;; start_or_reload) echo 'Starting or reloading server...' start_or_reload ;; wup) echo "Increasing workers..." kill -TTIN `cat $PID_file` ;; wdown) echo "Decreasing workers..." kill kill -TTOU `cat $PID_file` ;; *) echo "Usage: $SCRIPT_name {start|reload|stop|restart|start_or_reload|wup|wdown}" >&2 exit 3 ;;esac:总结
以上是内存溢出为你收集整理的python – 在将当前符号链接切换到新目录后正常重新加载gunicorn全部内容,希望文章能够帮你解决python – 在将当前符号链接切换到新目录后正常重新加载gunicorn所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)