1
定期的に実行するのではなく、特定のタイムスタンプで関数を1回だけ実行するにはどうすればよいですか?Laravelのタスクスケジューラを所定のタイムスタンプで1回だけ実行するように設定するにはどうすればよいですか?
私のアプリケーションは次のとおりです。 id(主キー)と時刻(整数として保存されたエポックタイムスタンプ)の2つのテーブルがあります。さて、各エントリについて、私はテーブルに格納されたタイムスタンプで実行される関数を呼び出したいと思います。これをどのように達成するのですか?
タスクスケジューラの代替手段はありますか? 私はLaravel 5.4(重要な場合)を使用しています
編集:私は回避策を知っていますが、私は最も効率的な解決策を探しています。
はい、これは私の問題を解決しないのに役立ちます。実際には、これが私の心に来た最初のものでした。しかし、それはむしろ非効率です。毎分タスクが完了しても毎分データベースクエリが呼び出されますが、タスクは実行され続けます。もっと良い選択肢はありませんか?もしそうでなければ、私はこのトリックをする必要があります。 –
なぜレスポンスをキャッシュしないのですか?そうすれば、データベースに一度アクセスするだけで済みます。再度実行する必要がある場合は、キャッシュのタイムアウトを設定するか、適切なイベントに基づいてクリアすることができます。 –