私はSpringのスケジューリングを使用しています.1つは実行時間の短いタスク用、もう1つは実行時間の長いタスク用の別々のスケジューラーが必要です。
この主な理由は次のとおりです。
- このコンテキストでは、短時間実行タスクは長時間実行タスクよりもミッション クリティカルです (短時間実行タスクは毎分実行する必要があり、長時間実行タスクは 1 時間に 1 回実行する必要があります)。
- シングル スレッド モードを構成した場合、実行時間の長いタスクが実行時間の短いタスクをブロックします。
- スレッド プール サイズを誤って構成すると、実行時間の長いタスクが実行時間の短いタスクをブロックする可能性がありました。
このようにタスクを個別のスケジューラに分割することに何か問題がありますか?それとも、アプリ内で常に単一のスケジューラを使用してプールサイズを大きくするという慣習ですか?
私はスケジューリング/タスク分割パターンを認識していないので、どんな支援も素晴らしいでしょう. この質問には、これに代わる可能性のあるフレームワークがあることを無視したいと思います(おそらく春のバッチのように)。デザインの選択と、それが間違っている理由にもっと興味があります。