Laravelを使用して_php artisan queue:listen
_を使用してキュージョブを実行しています。これらのジョブの1つはかなり複雑で時間がかかるため、次のエラーが表示されます。
_[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process ""/usr/local/Cellar/php55/5.5.14/bin/php" artisan queue:work
--queue="QUEUE_URL" --delay=0 --memory=128 --sleep=3 --tries=0"
exceeded the timeout of 60 seconds.
_
私は_queue:listen
_を任意の高いタイムアウト値で実行できることを知っていますが、それは理想的ではありません、私はdoでタイムアウトしたいあるプロセスが実際に応答しないイベント。ジョブによって呼び出された関数内でset_time_limit(60)
を定期的に呼び出してみましたが、問題は解決しませんでした。
オンラインでSymfony\Component\Process\Process->setTimeout(null)
に言及しているスレッドを見つけましたが、そのプロセスオブジェクトにアクセスする方法や、問題が解決するかどうかもわかりません。
どんな助けでも大歓迎です。
--timeout=0
を追加すると、セットアップで機能しました。
PDATE:したがって、コマンド全体はphp artisan queue:listen --timeout=0
になります。
お役に立てれば。