status 列と
deadline 列を持つ
tasks テーブルがあります。現在の日付がタスクの期限より後の場合、ステータスを自動的に「期限切れ」に変更するにはどうすればよいですか? Laravelにはリアルタイムイベントリスナーはありますか?
リーリー
P粉6836651062023-12-16 11:39:22
リアルタイム イベント リスナーがありますが、トリガーするには操作を実行する必要があります。たとえば、これらのイベントは、モデルが作成、更新、または削除されたときにトリガーされます。
定義したフィールドの変更を待機しているすべてのモデルに ping を送信する組み込みの「リスナー」はありません。
タスクの有効期限が切れたときにさらにロジック (電子メールの送信など) をトリガーしたい場合は、スケジューラーを使用して、新しい期限切れのタスクがあるかどうかを確認することをお勧めします。 スケジューラは毎分実行されます - cron によって設定されます。
P粉0927785852023-12-16 10:27:05
日付を確認しているだけだからです。 cron は深夜に 1 回だけ実行する必要があります。 Laravel スケジューラを使用して作業を完了します。 まずクラスを作成します
リーリー次に、app\Console\Kernel.php で、メソッドをスケジュールします-
リーリー最後に、スケジュールされたコマンドを毎日深夜に実行するようにサーバー上で cron ジョブを構成します。
リーリー