web-dev-qa-db-ja.com

Laravel=キュープロセスタイムアウトエラー

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)に言及しているスレッドを見つけましたが、そのプロセスオブジェクトにアクセスする方法や、問題が解決するかどうかもわかりません。

どんな助けでも大歓迎です。

34
Will Durney

--timeout=0を追加すると、セットアップで機能しました。

PDATE:したがって、コマンド全体はphp artisan queue:listen --timeout=0になります。

お役に立てれば。

57
David Lemayian

これは既知です バグ in Laravel v5.3:

この問題を修正するには、v5.5にアップグレードする必要があります。

別の方法は、説明されているようにソースコードをハッキングすることです here

0
Mostafa Lavaei