0

データベース接続を使用して L5 でキュー システムをセットアップしました。移行を実行した後、DB に failed_jobs と jobs の 2 つのテーブルがあります。これまでのところすべて正常に動作していますが、プッシュされた操作が失敗した場合、操作を続行して処理を試み、失敗時にジョブを削除したり、failed_jobs に挿入したりしませんでした

 Queue::push(function($job) use ($id)
 {
     Account::delete($id);

     $job->delete();
 });

上記の例では、成功しない場合に試行する試行回数を設定してから、failed_jobs に挿入する方法を教えてください。

私はこれを使用して行うことができることを知っています

php artisan queue:listen --tries=3

しかし、ケースが異なるため、クロージャーを使用して同じことが必要です

4

2 に答える 2

1

ジョブ クラス自体で最大試行回数を定義できます。

ジョブで最大試行回数が指定されている場合、コマンド ラインで指定された値よりも優先されます。

これをジョブ クラスに追加します。

/**
* The number of times the job may be attempted.
*
* @var int
*/

public $tries = 5;
于 2019-05-29T23:35:16.233 に答える