Gunicorn ::从应用程序本身重新加载

时间:2012-01-28 12:46:57

标签: django gunicorn

我最近从我的应用程序创建了一个版本控制页面来管理部署过程。

(是的,我知道,github + hooks比从零改写好。但我们在伊朗,我们敬爱的政府已经阻止了与国外的所有ssh连接。:(()

页面中有一个合并+重新加载操作。合并与其他部分一样,但重新加载部分失败,没有任何消息。我已经为kill命令添加了sudo row,并且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)

1 个答案:

答案 0 :(得分:1)

猜测我的头脑是重启不起作用,因为调用重新加载的进程正在被杀死。也许尝试守护一个在调用重载后退出的子进程?看一下这篇文章:

spawning process from python