問題タブ [cron4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
design-patterns - SchedulingPattern con4j 2 分 30 秒または 150 秒ごと
スケジューラを使用して2分ごとに実行します。しかし、私は使用できません2m30s
。助けてください
java - cron タスクを複数回スケジュールしないようにするにはどうすればよいですか
Tomcat で cron4j を使用しています。
サーブレット内でスケジューリングを開始します
このサーブレットを誤って再度呼び出した場合でも、この cron タスクを複数回開始しないようにするにはどうすればよいですか?
quartz-scheduler - 永続性を備えた Java メソッドのスケジューリング
アプリが再起動する可能性があり、マシンが再起動する可能性があることを考慮して、特定のメソッドへの呼び出しを毎日またはそれ以上実行する必要があります。スレッドをスリープ状態にするだけの例を見ましたが、システムの再起動を管理する永続性が必要です。
再起動時にマシンの電源を切ると、タスクの実行が再開されることを確認する必要があります。
cron4j と Quartz のスケジューラーを見つけましたが、それが可能かどうか、可能な場合はどうすればよいかわかりません。
java - J2EE 環境内での Cron4J スケジューラの管理
私のチームは、Web アプリケーションを介して実行されているプロジェクトのいずれかがスケジュールより遅れて実行されている場合に、1 日に 1 回電子メールを送信するタスク スケジューラに関連付けたいと考えている Web アプリケーションを作成しました。
私たちが使用しているスケジューラ ライブラリ Cron4j は十分に単純であり、現時点では、次のような一連の Web サービス コールを通じて管理しようとしています (スケジューラを開始して実行するというアイデアです)。指定された時間または停止するまで):
現時点では、'invoke_workback' メソッドは正常に機能しますが、'stop_workback' メソッドは機能しません。
私が興味があるのは:
- この悪い習慣のように、Web サービスでスケジューラを呼び出していますか?
- もしそうなら、どうすればこの機能を効果的に達成できますか?
- そうでない場合、スケジューラ インスタンスを管理するサービス インターフェイスを作成するにはどうすればよいですか? これも必要ですか?
編集:
問題をさらに調べたところ、サーバーの起動およびシャットダウン時にスケジューラを起動または強制終了するために使用できる「ServletContextListener」と呼ばれるものがあることに気付きました。この時点で私が考えているのは、その機能をテストし、アプリがまだ実行されているときにスケジューラを管理できるようにするサービスを維持することです。
scope - スケジュールされたジョブ実行の Guice スコープ
私のアプリケーションは Guice の上に構築され、スケジュールされたジョブ (cron4j) を実行します。これは、本質的に @Singleton インスタンスに関連する問題を示しています。
私の問題に対する適切な解決策には、シングルトンの代わりに、各ジョブの実行に適用できるスコープがあるようです。Request スコープに似ていますが、この別のシナリオです。
Custom Scopesのドキュメントを読みましたが、特定の依存関係が特定のスコープのインスタンスを guice からリクエストする方法をどのように知るかについては明確ではありません。
例:
ご指導ありがとうございます。
java - cron4j を複数回実行する
データベースからさまざまな時間をフェッチし、それらの時間に関数を呼び出す Java クラスを作成する必要があります。時間はデータベース内で変更される可能性があり、Db 内の時間に対応する値が引数として関数に送信されます。これがデータベースに記載されている時間に毎日行われるようにする必要があります。
このコードは毎日 5:00:00 にクラスを呼び出しますが、何を渡せThread.sleep()
ばよいかわかりません。複数の異なる時間についても記述し、長期間、つまり 1 年以上実行されるようにする必要があります。