No caso de o prazo da condição de corrida ser menor que um segundo, configure startretries=<number you want>
. No entanto, você pode configurá-lo para um valor muito maior, se necessário. Abaixo está um exemplo.
[program:test]
startretries=10
Eu tenho a seguinte configuração para um processo ser executado continuamente. Aparentemente, funciona muito bem, mas depois de algumas horas ou às vezes alguns minutos, o processo é encerrado.
Qualquer tipo de ajuda é muito apreciado.
Config do 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
Informações do sistema operacional:
Debian GNU / Linux 8 (jessie)
Arquivo de log: O arquivo de log contém o seguinte erro:
FATAL state, too many start retries too quickly
Importante:
É óbvio que o processo termina muito rapidamente, é minha exigência. Eu não quero executar o script em um loop infinito. Está definindo startretries
uma solução válida?
No caso de o prazo da condição de corrida ser menor que um segundo, configure startretries=<number you want>
. No entanto, você pode configurá-lo para um valor muito maior, se necessário. Abaixo está um exemplo.
[program:test]
startretries=10
Desde que o problema foi de 0 segundo tempo de execução. Na maioria das vezes, os scripts são executados dentro de 0 segundos, então o supervisor termina.
Eu resolvi esse problema adicionando startsecs=0
.