私はcron4jを使って30分ごとにタスクを実行するようにスケジュールしています。ただし、同じタスクの前のインスタンスがまだ実行されている場合は、タスク実行の2番目のインスタンスを実行しないことをお勧めします。 私は、ExecutorのisLive()やjoin()のようなメソッドがあることを知っていますが、目的を達成するためにそれらを使用する適切なメソッドが不明です。Cron4Jでシーケンスを適用する
1
A
答えて
0
逐次処理を希望します。その場合、2つのcron4jタスク、プロセスパラメータを生成するrask、およびパラメータを処理するタスクの間の 'パイプ'としてqueueを使用することをお勧めします。
パラメータを準備し、-----キューに入れる< ----- cron4j(task2、おそらく10分間隔)は、これからパラメータを読み取り、それに応じて処理します。
cron4jのタスク2では、キューからパラメータを処理した後、終了する前にキューの内容を再度確認し、新しいものがあれば処理を続行できます。
このアプローチでは、物事は順番に処理され、2つのタスクはキューオブジェクトとインターフェースするため、疎結合されます。
キューにjava.util.Queueを使用できます。
関連する問題
- 1. コード実行シーケンスを適用する
- 2. シーケンス間シーケンスNLPタスクにRNNを適用する方法は?
- 3. Java Cron4J永続タスク
- 4. 複数の異なる時刻でcron4jを実行する
- 5. multiindexデータフレームに刻々と変化するシーケンスを適用する
- 6. 異なるSKActionのシーケンスを異なるSKNodeに適用する
- 7. シーケンスのすべての要素に述語を適用する
- 8. Linqを使ってシーケンスのサブシーケンスにフィルタを適用する
- 9. SQL Serverでシーケンスを使用する
- 10. 単一のクエリを使用してシーケンスが適用されるすべてのシーケンスとカラムを取得する方法
- 11. すべてのテストの前にFactoryGirlでシーケンスをリセットする適切な方法
- 12. 新しいinoremapシーケンスで以前のinoremapシーケンスを再利用
- 13. 複数のシーケンスをGMMHMMに適合させる方法は?
- 14. ターミナルコマンドのシーケンスにサブプロセスを使用する
- 15. SSISを使用するタスクのシーケンス
- 16. IN()のシーケンスを使用する
- 17. 多層アーキテクチャを使用する場合のメソッド呼び出しの適切なシーケンスは何ですか?
- 18. (シーケンスの)シーケンスのシーケンスを平滑化
- 19. を作成および使用シーケンスをOracleストアドプロシージャに - シーケンス
- 20. フィボナッチキャッシュを使用したシーケンス
- 21. multiindex DataFramesでgroupbyを適用して適用する
- 22. 自然にソートされたシーケンスのJoin、GroupBy、Distinct、Min/Maxを最適化する
- 23. ネストされたシーケンスでパイプを使用する
- 24. 子コンポーネントのシーケンスでHTMLコンポーネントラッパーを再利用する方法は?
- 25. SequelでPostgresシーケンスを使用するには?
- 26. Pythonでfsmを使用するシーケンスの認識
- 27. シーケンスでプロパティをシリアライズ
- 28. アンドロイドでアニメーションのシーケンスを実行する
- 29. シーケンスで関数を実行する
- 30. シーケンスIDで顔を追跡する
ご迷惑をおかけして申し訳ありません。私はあなたの応答の可能な通知を逃した。 – Bokhari
Infact、私はプロセスしか持っていませんが、それは30分ごとに実行されるようにスケジュールされています。最初のプロセスが実行されているときに、同じプロセスの2番目のインスタンスのオーバーランを制御したいだけです。テーブルAからテーブルBに30分ごとにデータをコピーすることを前提とします。スケジュールされたプロセスは午前8時に開始されました。それは30分以上かかりましたが、午前8時30分にスケジュールは同じプロセスを開始します。このオーバーランを実際にどのように制御するか? – Bokhari
@ボカハリ:私の答えで述べたように、あなたのスケジューラーのプロセスはファイルのコピーではなく、タスクオブジェクトを作成し、タスクオブジェクトをキューに追加して、タスクキューと呼んでください。そして、別のスケジューラがあります。プロセスは、タスクキューに新しいタスクがあるかどうかを確認し、タスクを取得し、キューから削除し、タスクを処理します。ファイルのコピーが完了していなくても新しいタスクが追加されていても、まだ処理中の2番目のスケジューラは、キューから新しいタスクをフェッチする前に完了するまで待つ必要があります。 – bertie