2012-01-25 17 views
0

Webサーバーにスケジュールされたタスクが15分ごとに実行されるメカニズムを作成し、その時間枠内で何らかのアクティビティが発生した場合にユーザーに通知します。それは次のように動作します:Spring @サーバーの再起動後スケジューリング

  1. 注釈が@Scheduledやスケジュールに
  2. は、タスクが実行される15分ごとに実行するために、現在の時刻の15分以内のすべての変更のためのデータベースをこすり
私が見ることができる

夫婦の問題は:私は、サーバーを再起動する必要があり、それは15分以上のためのダウンなら

  • 、私は戻ってもはや活動を逃しされないように15分以上見てする必要があります。
  • 多くのTomcatサーバーを実行していて、そのうちの1つだけがタスクを実行する必要があります。そうしないと、重複した電子メールがユーザーに送信されます。

誰もこれまでに対処した人はいますか?私はこれが本当にWebサーバーの外部のタスクであるべきだと思っています...それは送信される電子メールの重複の問題を解決しますが、サーバーのバウンス問題を解決しません。

どのように解決するかについてのアイデアは非常に高く評価されます!

答えて

1

私は、スケジューリングを実行するには、以下の手順を行っているでしょう:データベースからのタスクのためのアプリケーションの起動クエリに

  1. を(のみfalseに設定ダーティフラグを持たない)と、それをスケジュールします。スケジュールされたタスクの実行ごとに
  2. は私が汚れとしてマークされているタスクのみを取得することになるので、タスクが

を実行している提案するダーティフラグを入れて、複数の電子メールの問題であっても、サーバー上で発生しません起動。

関連する問題