データベースにはtrigerタイプが期限切れになっていません。もしあなたが期限切れになってしまった場合は、2つの解決策があります(あなたはそれについて書いています):データを使用する前に期限切れにいくつか追加してください。側)。 私はcronのアプローチを使用することをお勧めします。ここでの説明は次のとおりです。あなたがデータを取得する前に 期限切れで何かを実行します。
選択
前に更新を+:あなたがそれを必要とする前に、期限切れのデータを更新し、ここで質問です - あなたが要求したことのみを更新または全て期限切れの更新...すべてのレコードから2つのレコードしか必要とせず、関連していない2000年のレコードを更新した場合、すべてが時間のかかることがあります。
- :すべてのレコードを更新するのに時間がかかります。データベースが共有されている場合 - アプリケーションへのアクセスだけでなく、期限切れに関連するロジックは実行されません(この場合)。あなたは、あなたが期限切れで何かをやるべきで、どこにしてはいけないかを制御するエントリポイントが必要です。有効期限が切れても、期限切れのロジックを実行した後でも、次の秒で新しいレコードが期限切れになる可能性があります。期限切れのデータ処理の更新ワークフローロジックが必要な場合は、cron、変更するロジックを更新する必要があります。
CRON/TASK
- :あなたはそれ:)一度だけ30〜60分、最大設定するために時間を費やす必要があります。 +:バックグラウンドで実行されます。あなたのアプリケーションがデータベースを使用するだけでなく、期限切れのデータロジックも利用可能になります。あなたはチェックする必要はありません(そして、それについてrememebrしていないし、新しい従業員....について説明してください)何かを選択する前にJavaコード内の任意のstaledデータです。あなたはスタイリングされたデータについてのケアの間にロジックを分割し、通常のクエリはdbを実行します。 あなたはcronの中で「更新のために選択する」を実行することができますし、サーバー側のクエリからの更新時間中に選択しない場合でも、あなたは、データ・ロジック・complets staledますお待ちしておりますし、あなたが日付データ春に
まで選択でGET: spring scheduling documentation 、simple example spring-quartz-schedule
デシベルレベルPostgreSQLのジョブスケジューラ
スケジューラ/ cronのためにそれはここで、ルートの問題は、システムが保存される二つの別々の場所で「期限切れ」ということであるようですね
出典
2017-06-27 17:37:23
xyz
そのようなことのためのベスト・プラクティスだし、そうしようとする不正確なデータを調整し、同期させる。おそらく「期限切れ」は明示的な「ステータス」ではなく、日付とステータスの計算された組み合わせであるべきですか?したがって、何か(例えば)「保留中」で過去の日付がある場合、ビジネスロジックによって期限切れとみなされますか?それはまだ決して完了していないので、結局は技術的に「保留中」です。ビジネスロジックのために完了することはありません。 – David
私の問題は、私は2つの州しか持っていない、すなわち保留中と期限切れです。したがって、期日の前に、エンティティは3つの受け入れ可能な状態のうちの1つになることができ、期日後に別の4つの状態になることができる。これは基本的にはワークフローであり、その状態に基づいて実行可能なアクションがあります。 – user1550876