SchedulerX はステートフルなジョブをサポートしています。データ時間(data time)を使用すると、実際のジョブ実行時刻とは異なる時間範囲のデータを処理できます。
操作手順
たとえば、毎日 00:30 に実行されるジョブで前日のデータを処理する必要がある場合、ジョブ実行時刻から 1 時間分遡るように時間オフセットを設定できます。
-
クライアントを SchedulerX と統合し、データ時間のロジックを実装します。詳細については、「クイックスタート」をご参照ください。
public class TestHelloJob extends JavaProcessor { @Override public ProcessResult process(JobContext context) throws Exception { System.out.println("hello schedulerx2.0"); System.out.println("dataTime=" + context.getDataTime().toString("yyyy-MM-dd HH:mm:ss")); return new ProcessResult(true); } } -
コンソールでジョブを作成します。詳細については、「スケジューリングジョブの作成」をご参照ください。Timing configurationで、Time Offsetを -3600 秒に設定します。これにより、3,600 秒(1 時間)分遡ったデータ時間が設定されます。ジョブの実行時刻自体は変更されず、ジョブ実行時に
context.getDataTime()で前日 23:30 のデータが取得されます。
結果の確認
-
データ時間を含むジョブを作成後、Execution Listページに移動し、該当ジョブのActions列で詳細をクリックします。
-
Task instance detailsページで、Basic Informationをクリックします。
-
Basic Informationタブで、ジョブのData Timeが設定値と一致していることを確認します。