db内のレコードが指定された間隔で更新/変更されない場合に、アラートを送信する必要があるという要件があります。たとえば、受け取った発注書が1時間以内に処理されない場合、リマインダーをデリバリーマネージャーに送信する必要があります。
リマインダー/アラートは、正確に間隔(秒を含む)で送信する必要があります。最終変更時刻が13:55:45の場合、アラートは14:55:45にトリガーされます。追跡する必要のある行が数百万になる可能性があります。
単純なアプローチは、カスタムスケジューラを実装することであり、すべてのレコードがそれに登録されます。ただし、データベースをポーリングして1秒ごとに変更を探す必要があり、パフォーマンスの問題が発生します。
アップデート:
もう1つの基本的なアプローチは、レコードごとにスレッドを作成し、それを1時間スリープ状態にすることです(または)タイムアウトのあるキューイングの概念を使用します。しかし、それでもパフォーマンスの問題があります
同じことを実装するためのより良いアプローチについて何か考えはありますか?