Laravel アプリのコントローラーから Artisan コマンドを実行しています。ドキュメントで指定されているように、次のようにキューに入れることができます。
Artisan::queue('email:send', [
'user' => 1, '--queue' => 'default'
]);
これにより、キュー ロジックが処理され、私の場合はジョブが Redis に送信され、そこですぐに処理されます。
仕事を遅らせたい。次のようにキューコマンドを呼び出すときに、通常これを行うことができます。
$job = (new SendReminderEmail($user))->delay(60);
$this->dispatch($job);
Artisan コマンドを 5 分間遅らせることができるように、これらの機能に参加する方法はありますか? それを遅らせる簡単なオプションがあると思いました。
そうでない場合は、コントローラーと Artisan コマンドの間に別の Job クラスを作成し、通常の方法でキューに入れ、遅延させてから、その Job クラスに Artisan コマンドを呼び出させることができます。しかし、これはそれを機能させるための非常に複雑な方法のようです。キューに入れられた Artisan コマンドを遅らせる良い方法はありますか?
ありがとうございました