自動再起動は監督プログラムには適用されません。

自動再起動は監督プログラムには適用されません。

私はSupervisordを使用していますが、Supervisordプログラムが自動的に再起動するのに問題があります。

supervisord.conf

[supervisord]
logfile=/dev/null
pidfile=/tmp/supervisord.pid
nodaemon=true

[unix_http_server]
file = /tmp/supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[program:worker]
command=./manage.py rq worker %(ENV_QUEUES)s
process_name=%(program_name)s-%(process_num)s
numprocs=%(ENV_WORKERS_COUNT)s
directory=/app
stopsignal=TERM
autostart=true
autorestart=true
startsecs=300
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[eventlistener:worker_healthcheck]
autorestart=true
serverurl=AUTO
command=./manage.py rq healthcheck
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
events=TICK_60

監督者の状態

abc@abc-adhocworker-c89d9667b-9lqbd:/app$ exec supervisorctl -c worker.conf status

worker:worker-0                  FATAL     Exited too quickly (process log may have details)

worker:worker-1                  FATAL     Exited too quickly (process log may have details)

worker_healthcheck               RUNNING   pid 14, uptime 7:43:34

ステータスには致命的なステータスが表示されますが、設定しても自動的には回復されませんautorestart=true

エラーが発生したときにプログラムが自動的に回復/再起動されるようにするには、何が必要ですか?

再起動はヘルスチェックに依存し、eventlistenerすべてが正常なので、自動再起動がプログラムに適用されないというエラー信号を送信できますか?

私のSupervisord.confにSupervisorctlセクションがないので、それを追加したかどうかはわかりません。そうしないと、supervisorctl statusSupervisordプログラムが失敗する可能性があるため、自動再起動が正しくトリガされますか?

ベストアンサー1

おすすめ記事