0
Laravelジョブを解放してキューに再び参加させる必要がある場合があります。しかし、これを行うと、試行回数が増えます。 2になります。キューワーカーが1回試行に制限されていると、決して実行されません。試行回数を増やすことなくLaravelジョブを解放する
試行回数を増やさずにリリースするにはどうすればよいですか?
私が使用しています解除するには:
$this->release(30);
先立ち、このラインに、私は次のコードを試してみました:これは動作しません
$payload = json_decode($this->payload, true);
if (isset($payload['attempts'])) {
$payload['attempts'] = 0;
}
$this->payload = json_encode($payload);
。プロパティは使用できません。それはthe Job classにあるようです。
コードは、RetryCommand
クラスのカウントをリセットする必要があります。これは、次のとおりです。
protected function resetAttempts($payload)
{
$payload = json_decode($payload, true);
if (isset($payload['attempts'])) {
$payload['attempts'] = 0;
}
return json_encode($payload);
}
しかし、私は私の仕事のクラスから$payload
にアクセスする方法を考え出すことはできませんか?
試行回数を増やさずにジョブを解放する方が良いでしょうか?
私はLaravel 5.4とRedisキュードライバを使用しています。