簡體   English   中英

主管保持huey python運行

[英]Supervisor keep huey python running

我正在嘗試讓主管監視和維護一個使用Huey(redis類型隊列)的python腳本。

我的Supervisor程序配置如下所示:

[program:smsbot_handler]
directory=/home/ubuntu/virt_env/virt1/app/
command=/home/ubuntu/virt_env/virt1/bin/huey_consumer.py main.huey --threads=3
stdout_logfile=/home/ubuntu/smsbot_handler_log.txt
autostart=true
autorestart=true
environment=PYTHONPATH="/home/ubuntu/virt_env/virt1/app:$PYTHONPATH"
redirect_stderr=true

任何人都可以給我任何線索,為什么這不起作用? 我進入我的日志文件的所有內容是:

Error importing main.huey

它真的開始找我了!

假設你已經測試過你的命令沒有從supervisor啟動時運行正常,我會刪除環境行,改為啟動shell腳本,設置環境並從shell腳本啟動huey_consumer.py(使用exec python)。

這就是我對所有需要特定環境的程序所做的事情。

這是一個例子:

在主管配置中:

[program:MyExample]
command=/ama/nms/MyExample/supervisor_myexample.sh
process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1                    ; number of processes copies to start (def 1)
directory=/ama/nms/MyExample  ; directory to cwd to before exec (def no cwd)
priority=10                   ; the relative start priority (default 999)
autostart=true                ; start at supervisord start (default: true)
autorestart=true              ; retstart at unexpected quit (default: true)
startsecs=1                   ; number of secs prog must stay running (def. 1)
startretries=10                ; max # of serial start failures (default 3)
exitcodes=0,2                 ; 'expected' exit codes for process (default 0,2)
stopsignal=TERM               ; signal used to kill process (default TERM)
stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)

在文件/ama/nms/MyExample/supervisor_myexample.sh中:

#!/bin/sh
# ------------------------------------------

# Set the environment
export LD_LIBRARY_PATH=<...>:$LD_LIBRARY_PATH
export PYTHONPATH=<...>:$PYTHONPATH

D=`dirname $0`
exec python $D/myexample.py arg1 arg2 arg3

關鍵是使用exec啟動命令,以便主管可以監視啟動的命令的pid。

暫無
暫無

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

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