Sto avendo problema provare a configurare supervisore per eseguire uno script php. supervisore in modalità debug in esecuzione mi dà questo:Supervisord "exit status 1 not expected" in esecuzione script php
2015-03-09 08:53:06,342 INFO supervisord started with pid 2030
2015-03-09 08:53:06,358 INFO spawned: 'worker1' with pid 2031
2015-03-09 08:53:06,423 INFO exited: worker1 (exit status 1; not expected)
2015-03-09 08:53:06,424 INFO received SIGCLD indicating a child quit
2015-03-09 08:53:07,440 INFO spawned: 'worker1' with pid 2032
2015-03-09 08:53:07,587 INFO exited: worker1 (exit status 1; not expected)
2015-03-09 08:53:07,589 INFO received SIGCLD indicating a child quit
2015-03-09 08:53:09,604 INFO spawned: 'worker1' with pid 2033
2015-03-09 08:53:09,756 INFO exited: worker1 (exit status 1; not expected)
2015-03-09 08:53:09,758 INFO received SIGCLD indicating a child quit
2015-03-09 08:53:12,775 INFO spawned: 'worker1' with pid 2034
2015-03-09 08:53:12,973 INFO exited: worker1 (exit status 1; not expected)
2015-03-09 08:53:12,974 INFO received SIGCLD indicating a child quit
2015-03-09 08:53:13,976 INFO gave up: worker1 entered FATAL state, too many start retries too quickly
La configurazione supervisord:
[program:worker1]
command=php myScript.php
directory=/home/path/to/script/
user=root
autostart=true
autorestart=true
stderr_logfile=/var/log/worker1.err.log
stdout_logfile=/var/log/worker1.out.log
redirect_stderr=true
environment=PATH="/usr/bin"
Per questo test myscript.php solo stampare echo "test".PHP_EOL;
Non ci sono registri di segnalazione errori da PHP, e se eseguo la sceneggiatura tramite cli funziona come previsto. Il registro di supervisione riporta solo lo stesso risultato di debuggin.
Ho anche provato a utilizzare percorsi assoluti come /usr/bin/php /home/path/to/script/myScript.php
ma non cambia nulla.
il permesso di file per myscript.php sono impostati su -rwxrwxr-x 1 root apache
Davvero non so che altro ho potuto verificare. Grazie per l'aiuto!
UPDATE_1
Ho anche cercato di monitorare altro programma come/bin/gatto o uno script bash e funziona come un fascino. Il problema sembra essere limitato a php.
UPDATE_2
Come N.B. ha sottolineato nei commenti ho cambiato lo script di test a guardare più come-lunga durata lavoro:
while(true){
echo "test".PHP_EOL;
sleep(10);
}
stessa di prima, entra in stato FATAL.
Non si sta dicendo nulla in "worker1.err.log"? – MegaAppBear
No, niente. Non è nemmeno stato creato ... – Luciano
hai provato il percorso completo per lo script nella riga "command"? – MegaAppBear