すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:データタイムスタンプの設定

最終更新日:Mar 11, 2026

定期実行されるジョブでは、ジョブ実行時よりも前に確定したデータを処理する必要がある場合が多くあります。たとえば、毎日 00:30 にトリガーされるジョブは、前日の 23:30 のデータを処理する必要がありますが、トリガー時刻のみでは実際のデータ可用性ウィンドウを正確に反映できません。

SchedulerX では、タイムオフセット パラメーターを提供しており、これにより context.getDataTime() が返すデータタイムスタンプをずらすことができます。この機能により、ジョブの実際のトリガー時刻に関わらず、正しいデータウィンドウを対象に処理できます。

仕組み

ジョブが実行されると、SchedulerX は設定されたタイムオフセットをトリガー時刻に適用してデータタイムスタンプを算出します:

データタイムスタンプ = トリガー時刻 + タイムオフセット

ジョブ内部では、context.getDataTime() がこの調整後のタイムスタンプ(トリガー時刻ではなく)を返します。ジョブの処理ロジックでは、このタイムスタンプを用いて、正しいタイムウィンドウからデータをクエリまたはフィルター処理します。

以下の例では、オフセット値がデータタイムスタンプに与える影響を示しています:

スケジュールトリガー時刻タイムオフセットデータタイムスタンプ(getDataTime()
毎日 00:30本日の 00:30-3600(1 時間)前日の 23:30
タイムオフセットの値は秒単位です。負の値を指定すると、データタイムスタンプが過去方向にずれます。

前提条件

開始する前に、以下の条件を満たしていることを確認してください:

  • ご利用のアプリケーションに接続済みの SchedulerX エージェントが存在すること(「クイックスタート」トピックをご参照ください)

ジョブへのタイムオフセットの設定

タイムオフセットを設定するには、調整後のデータタイムスタンプを読み取るジョブクラスを実装し、SchedulerX コンソールでオフセット値を指定してジョブを作成します。

ステップ 1:ジョブクラス内でデータタイムスタンプを取得する

JavaProcessor を継承し、context.getDataTime() を呼び出して、オフセット適用後のデータタイムスタンプを取得します。

public class TestHelloJob extends JavaProcessor {

    @Override
    public ProcessResult process(JobContext context) throws Exception {
        System.out.println("hello schedulerx2.0");

        // getDataTime() は、タイムオフセットを適用したトリガー時刻を返します。
        // このタイムスタンプを用いて、正しいタイムウィンドウからデータをクエリします。
        System.out.println("dataTime=" + context.getDataTime().toString("yyyy-MM-dd HH:mm:ss"));

        return new ProcessResult(true);
    }

}
要素説明
JavaProcessorSchedulerX ジョブの基底クラス
context.getDataTime()トリガー時刻に設定されたタイムオフセットを加算したデータタイムスタンプを返します
ProcessResult(true)ジョブが正常に完了したことを示します

ステップ 2:ジョブの作成とタイムオフセットの設定

  1. SchedulerX コンソールでジョブを作成します。詳細については、「ジョブの作成」をご参照ください。

  2. タイミング構成 ウィザードページで、タイムオフセット パラメーターを設定します。

    パラメーター説明
    タイムオフセット-3600データタイムスタンプを 1 時間過去方向にずらします。単位:秒。

この構成により、ジョブは 00:30 にトリガーされますが、context.getDataTime() は前日の 23:30 を返します。

結果の確認

  1. ジョブ実行後、インスタンス ページに移動します。

  2. 該当のジョブインスタンスを見つけ、操作 列の 詳細 をクリックします。

  3. ジョブインスタンスの詳細 ページで、基本情報 をクリックします。

  4. データ時刻 フィールドに、期待通りのオフセット適用後のタイムスタンプ(たとえば、00:30 ではなく前日の 23:30)が表示されていることを確認します。

次のステップ