Supervisord(退出状态1;不预期)centos python

时间:2014-03-05 16:30:52

标签: python python-2.7 centos centos6 supervisord

进入Supervisord的其他问题。

Centos 6.5 监 随操作系统安装的python 2.6 python 2.7安装在/ usr / local / bin

supervisord程序设置

[program:inf_svr]
process_name=inf_svr%(process_num)s
directory=/opt/inf_api/
environment=USER=root,PYTHONPATH=/usr/local/bin/
command=python2.7 /opt/inf_api/inf_server.py --port=%(process_num)s
startsecs=2
user=root
autostart=true
autorestart=true
numprocs=4
numprocs_start=8080
stderr_logfile = /var/log/supervisord/tornado-stderr.log
stdout_logfile = /var/log/supervisord/tornado-stdout.log

我可以使用:

运行inf_server.py
python2.7 inf_server.py --port=8080

没有问题。 我确保文件是可执行的(之前是我的问题)。

有什么想法吗?

更新: 我甚至无法启动基本的python脚本而不会失败。 首先评论旧程序,添加一个新程序,然后输入:

command=python /opt/inf_api/test.py

其中test.py只是将某些内容写入屏幕和文件。退出状态为0时失败。 所以我开始在python的位置添加(在用'which python'发现它之后)

environment=PYTHONPATH=/usr/bin

尝试将路径放在单引号中,尝试将USER = root添加到环境中,尝试添加

directory=opt/inf_api/

尝试添加

user=root

所有相同的事情,退出状态0.除了我从supervisord的调试中看到的内容外,似乎没有任何内容添加到任何日志文件中。

男人我不知所措。

1 个答案:

答案 0 :(得分:0)

这是Supervisord如何从python捕获错误消息的问题。因为它不是。我运行它来启动龙卷风应用程序,它调用第二个python文件,以便它可以产生n个龙卷风服务器实例。如果第二个python应用程序中存在错误,那么它不会捕获它们并将它们保存到日志文件中。我尝试了各种方法,但最终不得不尝试使用try来捕获它们:除了:并将其保存到我自己的日志文件中。无论如何可能都是很好的实践,但谈论关于实现这一目标的方法。