プロセスを継続的に実行できるようにする次の構成があります。明らかに正常に動作しますが、数時間または時々数分後、プロセスは終了します。
どんな助けでも大変感謝します。
スーパーバイザー構成:
[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
オペレーティングシステム情報:
Debian GNU/Linux 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
。