簡體   English   中英

Supervisord(退出狀態1;未預期)centos python

[英]Supervisord (exit status 1; not expected) centos python

遇到有關Supervisord的其他問題。

在/ usr / local / bin中安裝了Centos 6.5管理員python 2.6和OS python 2.7

監督程序設置

[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的位置添加回去(在使用“哪個python”發現它之后)

environment=PYTHONPATH=/usr/bin

嘗試將路徑放在單引號中,嘗試將USER = root添加到環境中,嘗試添加

directory=opt/inf_api/

嘗試添加

user=root

都是一樣的,退出狀態為0。似乎任何東西都沒有添加到任何日志文件中,除了Im從超級用戶的調試中看到的東西。

老兄,我很茫然。

事實證明,Supervisord如何捕獲來自python的錯誤消息是一個問題。 由於它不是。 我運行它以啟動龍卷風應用程序,該程序調用第二個python文件,因此它可以生成n個龍卷風服務器實例。 如果第二個python應用程序中存在錯誤,則不會捕獲它們並將它們保存到日志文件中。 我嘗試了所有方法,但最終不得不自己嘗試使用try:except :,並將其保存到我自己的日志文件中。 無論如何,這可能是一個很好的做法,但要討論一輪有關此事的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM