3

Webアプリケーションで毎年タスクを自動的に実行するにはどうすればよいですか?Timerクラスはこれに役立ちますか?クォーツについても聞いたことがありますか?彼らのページに登録しましたが、無料ではないようです。ご協力ありがとうございました。

4

3 に答える 3

3

Quartz は間違いなく良い選択肢です。これは無料でオープンソースであり、Apache 2.0 ライセンスを使用します (ダウンロードするために登録する必要はありません)。*nix 環境にいる場合は、単純に cron を使用することもできます。

を使用することもできますがjava.util.Timer、ユース ケースが非常に些細なものTimerであり、Web アプリの起動時にある種の永続化レイヤーに基づいて正しく再起動することを確認する場合にのみ使用します。

于 2012-11-24T03:25:35.197 に答える
2

年に 1 回しか実行されないジョブを本当に完全に自動化する必要があるかどうか、ビジネス関係者に確認することを検討してください。私の経験からすると、スケジュール (例: 今年は何曜日にジョブを実行するか) や、長い時間が経ったジョブの手順に小さな変更が加えられる可能性は十分にあります。

また、将来、他のスケジュールされたジョブがシステムに追加される予定はありますか? そうでない場合 - 1 年に 1 つのジョブしかない場合、自動化された実行のオーバーヘッド (実装、テスト、監視など) をシステムに追加する価値はありますか? このように頻繁に実行されないものは、簡単に忘れられ、壊れたときに誰も気付かない可能性があります。

この代替案を検討してください。アプリのどこかにボタンを追加して、ジョブを手動で開始します。おそらく管理ページにします。アプリにダッシュボードまたはランディング ページがある場合は、管理者などの特定のユーザーにのみ表示される情報を追加します。 2012 年 11 月 30 日より前」。

于 2012-11-24T03:43:52.913 に答える
1

cron などを使用することをお勧めします。あなたの要件は、UNIX cron デーモンのアクティビティと非常に似ています。cron4j (http://www.sauronsoftware.it/projects/cron4j/) と呼ばれる同じ機能を提供する Java ライブラリがあります。

以下は、使用できるスケジューラーの一部です。

于 2012-11-24T03:50:28.223 に答える