자동 재시작은 감독 프로그램에 적용되지 않습니다.

자동 재시작은 감독 프로그램에 적용되지 않습니다.

나는 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 프로그램이 실패할 수 있기 때문에 자동 재시작이 올바르게 트리거될 것입니까?

관련 정보