主管始终以“退出状态0”退出流程;没想到


13

我目前正在重建我的vps,我想使用主管来管理我的gunicorn / wsgi django进程。事实是,主管不断退出流程:

2010-07-23 14:54:40,575 INFO supervisord started with pid 31391
2010-07-23 14:54:41,582 INFO spawned: 'projectx' with pid 31395
2010-07-23 14:54:41,691 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:42,695 INFO spawned: 'projectx' with pid 31401
2010-07-23 14:54:42,801 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:44,806 INFO spawned: 'projectx' with pid 31404
2010-07-23 14:54:44,912 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:47,917 INFO spawned: 'projectx' with pid 31408
2010-07-23 14:54:48,022 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:49,023 INFO gave up: projectx entered FATAL state, too many start retries too quickly

这是我正在使用的配置:

[program:projectx]
command=/path/to/project/bin/gunicorn_django -c /path/to/project/project/gunicorn.conf.py /path/to/project/project/production.py
user=myuser
autostart=true
autorestart=true

我已经仔细检查过,当正确生成时,gunicorn_django确实返回状态0。

我尝试将exitcodes = 0,2明确添加到配置中,但这似乎也没有什么不同。看起来该过程正确地产生了,但是主管认为没有。

有谁知道如何解决这个问题?

谢谢,比约恩

Answers:


12

如果gunicorn_django自己在守护进程,则不是设计程序管理员要管理的那种。主管希望其受监管的程序在前台运行,以便可以监视它们是否已退出。

请参阅主管文档


缺省情况下,gunicorn不会自我妖化,但是我确实在配置文件中进行了设置。我删除了它,感谢您指出。
比约恩

4

好的,经过一番困惑之后,我发现它与用户有关。我试图以某个用户的身份运行子进程。删除该行后(请参见下面的配置),一切正常。

Gunicorn配置:

bind = "127.0.0.1:3305"
workers = 2

主管配置:

[program:projectx]
command=/path/to/project/bin/gunicorn_django -c /path/to/project/project/gunicorn.conf.py /path/to/project/project/production.py
; set the user here instead of in the gunicorn config.
user=user
autostart=true
autorestart=unexpected
stdout_logfile=/path/to/project/logs/project.log
redirect_stderr=true
exitcodes=1

1
请快速注意一下,如果您想充实它,向myuser投诉并运行gunicorn应该会给出提示。通常的怀疑是日志和pid文件不可写。另外,您的应用可能还需要文件权限。请注意,为了获得更好的主管支持,您应该升级到0.10,因为我们解决了通过主管(或runit)重启gunicorn的问题。
保罗·戴维斯

0

尝试在主管下执行http守护程序时遇到类似错误。

通过删除旧的pid文件进行修复:httpd_pid

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.