2016-07-12 6 views
1

1データベースのキューを待ちます。drivar.Myキュー:everyminuteで実行される作業コマンド。Laravel 5.1 Queue - キューを回避する方法:進行中のジョブをフェッチするための作業コマンド

最大2回の試行でジョブを実行したいと考えています。動作しています。問題は私のQueueです:仕事用のcronは毎分実行され、以前の仕事が進行中であっても同じ仕事をしようとします。

実行中のジョブを実行するには、queue:workコマンドを使用しないでください。

おかげ

答えて

0

queue:workは、プロセスの開始時に予約フラグを取得しますので、すでに実行中のジョブを実行しようとしません。あなたが経験していることは、次回Cronが実行される前にあなたの仕事が失敗していることです。そのため、同じ仕事を永遠にもう一度やり直してみることです。

queue:workを呼び出すたびに--triesを使用すると、ジョブの試行回数を制限できます。したがって、php artisan queue:work --tries=2を実行すると、ジョブは3回実行され、3回失敗すると、failed_jobsテーブルに追加されます。

php artisan queue:failed-tableで環境(データベースの移行)を準備していることを確認してください。

+0

こんにちはマルコ、 返信ありがとうが、私はログをデバッグしています。キュー:予約されていてもジョブを実行します。私は何か間違っているかもしれません。私はキューを実行します:schedularから毎分1分の作業コマンドを実行し、cronをschedule:runに追加します。 キュー:リストが正常に動作しています。おかげさまで – Raviraj

関連する問題