2

私は、いくつかのオブジェクトを追跡し、オブジェクトの年齢またはそれに含まれる事前設定された日付に従ってイベントをトリガーする、比較的複雑なアプリを構築しています。

例えば:

オブジェクト object_A には「更新日」が含まれています。更新日とシステム日付が一致すると、アプリケーションは特定のルーチンを実行する必要があります。

私の質問は次のとおりです。そのようなオブジェクトが何千もある場合、それらすべてを追跡し、それぞれの日時にそれぞれのルーチンをトリガーする最も効率的な方法は何ですか?

これらの日付を記述するために Calendar オブジェクトを使用したことに言及する価値があります (ただし、これらは Date オブジェクトに簡単に変換できるため、完全には関係ありません)。

正しい方向を示していただければ幸いです...

4

2 に答える 2

3

Quartzは、堅牢で複雑なタスク スケジューリングのための優れたライブラリです。

于 2012-09-02T00:47:02.087 に答える
2

私はあなたに(あなたがアプリを構築していると言っているので)責任について再考することを勧めます。その更新日を維持することは、オブジェクトの責任ではないと思います。つまり、その方法でそれを行うことができ、定期的にそれらのアイテムを訪問して、更新日が今日であるかどうかを確認するエージェントがいます。

ただし、更新日テーブルを含む外部エージェントとして考える場合は、次の理由からより効率的です。

  1. 同じ更新日を持つすべてのオブジェクトのトリガーは同時に起動します。
  2. チェックロジックの管理は一元化されます
  3. 同じ日付に折りたたむと、更新日を保存するための(スペース内の)コストが削減されます。

これは全体像ですが、役立つことを願っています。

于 2012-09-02T00:04:31.110 に答える