7
我最近从我的应用程序创建了一个版本控制页面来管理部署过程。Gunicorn ::从应用程序本身重新加载
(是的,我知道,GitHub的+挂钩是不是从零改写更好,但我们是在伊朗和我们敬爱的政府已经封锁了所有的SSH连接到该国以外:(()
有在页面中是一个merge + reload操作,merge与其他部分一样工作,但是reload部分在没有任何消息的情况下失败,我为kill命令添加了sudo行,并且worker进程的用户拥有足够的权限,我甚至执行了代码形式为django shell,并重新载入进程。
接收信号是否有任何限制,比如工人无法重新加载主机?
下面是相关代码:
def command(x):
return str(Popen(x.split(' '), stdout=PIPE).communicate()[0])
pid = open(PATH + "/logs/gunicorn.pid").readline().strip()
cmd = "sudo kill -HUP %s" % pid
content += command(cmd)