Supervisord가 성공적으로 실행된 후 프로세스 삭제

Supervisord가 성공적으로 실행된 후 프로세스 삭제

프로세스가 지속적으로 실행되도록 허용하는 다음 구성이 있습니다. 분명히 정상적으로 작동하지만 몇 시간 또는 때로는 몇 분이 지나면 프로세스가 종료됩니다.

어떤 종류의 도움이라도 대단히 감사하겠습니다.

감독자 구성:

[program:action_consumer]
process_name=%(program_name)s_%(process_num)02d
command = php /var/www/the_api/web/index.php actionCron
numprocs = 2
autostart=true
autorestart=true
user=console_api
redirect_stderr=true
stdout_logfile=/var/www/the_api/logs/action_consumer.log
RestartSec=3
Restart=3
WatchdogSec=3

운영 체제 정보:

데비안 GNU/리눅스 8 (제시)

로그 파일: 로그 파일에는 다음 오류가 포함되어 있습니다.

FATAL state, too many start retries too quickly

중요한:

아무래도 프로세스가 너무 빨리 종료된 것 같아서 제가 요청한 것이었습니다. 무한 루프에서 스크립트를 실행하고 싶지 않습니다. startretries솔루션 설정이 효과적인가요?

답변1

경쟁 조건의 시간 범위가 1초 미만인 경우 설정됩니다 startretries=<number you want>. 그러나 필요한 경우 더 높은 값으로 설정할 수 있습니다. 아래는 예시입니다.

[program:test]
startretries=10

답변2

문제는 실행 시간이 0초라는 점입니다. 대부분의 경우 스크립트는 0초 안에 실행되므로 감독자가 스크립트를 종료합니다. 를 추가하여 이 문제를 해결했습니다 startsecs=0.

관련 정보