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

DataWorks:インスタンス生成モード:デプロイ後即時

最終更新日:Jul 08, 2026

ノードが本番環境にデプロイされた直後にインスタンスを生成して実行するには、そのインスタンス生成モードを [デプロイ後即時] に設定します。

背景情報

ノードをデプロイすると、オペレーションセンターでその最新の構成を確認できます。DataWorks は毎晩、各定期タスクの構成に基づいて、翌日のスケジュールのための定期インスタンスを生成します。新規または更新されたノードを本番環境にデプロイする際、選択したインスタンス生成モードによって、変更が定期インスタンスとその依存関係にいつ影響するかが決まります。

DataWorks では、インスタンス生成モードには、変更が有効になるタイミングを制御する 2 つのオプションがあります:[翌日][デプロイ後即時] です。

  • [翌日]:ノードの作成および更新操作は、翌日の定期インスタンスに影響します。タスクを本番環境にデプロイした直後に実行する必要がある場合は、タスクに対してバックフィルデータ操作を実行できます。

  • [デプロイ後即時]:ノードの作成および更新操作は即時に有効になります。ただし、デプロイメントから実行可能なインスタンスが生成されるまでにはタイムラグが存在します。このラグはシナリオによって異なる影響を及ぼします。詳細については、「即時インスタンス生成の適用シナリオ」をご参照ください。

注意事項

  • インスタンス生成モードを [デプロイ後即時] に設定した場合、再実行プロパティへの変更は、すでに期限切れになったインスタンスには適用されません。

  • ワークフロー内のノードを個別に即時生成用に設定することはできません。このオプションは、スケジューリング設定ページでワークフロー全体に対して設定する必要があります。

  • スケジューリング設定で [翌日] または [デプロイ後即時] のどちらを選択したかに関わらず、システムは毎日 22:00 から 24:00 の間に翌日のすべての定期インスタンスを生成します。この期間中にデプロイされたタスクは、明後日までインスタンスを生成しません。

  • 上流タスクと下流タスクでインスタンス生成モードが一致しない場合、孤立ノードが作成される可能性があります。

  • 即時インスタンス生成のタイムラグ:予期しない動作を防ぐため、即時生成プロセスには 10 分のタイムラグが組み込まれています。タスクが最新の構成で実行されるには、タスクのスケジュール時刻がデプロイ時刻の少なくとも 10 分後である必要があります。

  • 即時インスタンス生成の範囲 (タスクコードとスケジュール設定の違い):すべての変更が即時に有効になるわけではありません。有効になるロジックが異なるため、タスクコードの変更とスケジュール設定の変更を区別する必要があります。

    • タスクコード (SQL や Shell スクリプトのロジックなど):インスタンスは、ランタイム時にタスクの最新のコードを読み取ります。したがって、コードエラーがランタイム例外を引き起こした場合、通常はコードを修正して再デプロイし、対応するインスタンスを再実行するだけで回復できます。インスタンスを再生成する必要はありません。

    • スケジュール設定 (スケジューリングパラメーターや再実行ポリシーなど):これらのプロパティは、生成時にインスタンスに固定されます。インスタンスが生成された後にタスクのスケジュール設定を変更しても、既存のインスタンスは自動的に更新されず、生成された時点の古い構成で実行されます。

      :スケジューリングパラメーターを ${bizdate} から ${datehour} に変更してデプロイした場合、コード内の ${datehour} への参照は即時に有効になります。しかし、すでに生成されたインスタンスに固定されている古いパラメーターコンテキストは更新されません。この不一致により、ランタイム時にパラメーターの解析に失敗する可能性があります。ノードに関連付けられたデータソースの変更など、他のシナリオでも同様です。当日にすでに生成されているインスタンスは、変更前の構成で実行されます。

    スケジュール設定の変更をすでに生成されたインスタンスに適用するには、次のいずれかの方法があります。

    • オペレーションセンターで、更新されたタスクを見つけ、[インスタンスのリフレッシュ] 操作を使用して、すでに生成されたインスタンスのスケジュール設定を一括更新します。

    • または、タスクに対してバックフィルデータ操作を実行します。バックフィル操作は、最新のタスク構成に基づいてインスタンスを生成し、実行します。

即時インスタンス生成の仕組み

デプロイ後の即時インスタンス生成は、将来のスケジュール時刻にのみ適用されます。具体的には、タスクのスケジュール時刻がデプロイ時刻より後の場合にのみインスタンスが実行されます。

  • 新しいタスクが作成された日には定期インスタンスが生成されますが、実行されるのはスケジュール時刻が将来のインスタンスのみです。

  • ノードのスケジュール時刻を更新し、新しいスケジュール時刻が過去である場合、インスタンスは生成されません。新しいスケジュール時刻が将来である場合、新しい構成に基づいて新しいインスタンスが生成され、以前のインスタンスを置き換えます。

    説明

    インスタンスが即時に正しく生成されるには、スケジュール時刻がノードのデプロイ時刻の少なくとも 10 分後である必要があります。

スケジュール時刻が通常の実行範囲内にある場合

  • シナリオ 1:新しいノードが作成された日に、実際の定期インスタンスが生成されます。スケジュール時刻がインスタンス生成時刻に対して将来であり、2 つの時刻の差が 10 分より大きい場合、インスタンスは正常にスケジューリングされ、実行されます。詳細については、「新しいノードをデプロイした後の即時インスタンス生成」をご参照ください。

  • シナリオ 2:ノード構成を更新した後、スケジュール時刻がインスタンス生成時刻に対して将来であり、2 つの時刻の差が 10 分より大きい場合、インスタンスは正常にスケジューリングされ、実行されます。実行されたインスタンスには、更新された構成が反映されます。詳細については、「デプロイ済みタスクのスケジュールの更新」をご参照ください。

  • シナリオ 4:スケジュール時刻の変更が下流の依存関係に与える影響。

    • インスタンスの新しいスケジュール時刻がインスタンス生成時刻に対して将来であり、2 つの時刻の差が 10 分より大きい場合、インスタンスは正常にスケジューリングされ、実行されます。まだ実行されていない下流のインスタンスは、変更後の新しいインスタンスに依存します。詳細については、「スケジュール時刻の変更が下流の依存関係に与える影響」をご参照ください。

    • インスタンスの新しいスケジュール時刻がインスタンス生成時刻に対して過去である場合、ドライランインスタンスが生成され、まだ実行されていない下流のインスタンスは孤立ノードになります。詳細については、「上流タスクと下流タスクでインスタンス生成モードが一致しない」をご参照ください。

重要

本番ノードのスケジュール設定を変更する際には、この機能を使用しないことを推奨します。この機能は、依存関係の変更、依存関係の不整合、インスタンスの置き換え、またはインスタンスの削除を引き起こす可能性があり、当日の依存関係が複雑になることがあります。ただし、タスクの依存関係は翌日には正常に戻ります。

スケジュール時刻がドライランの範囲内にある場合

スケジュール時刻がノードのデプロイ時刻に対して過去である場合でも、定期インスタンスは生成されますが、インスタンスはドライランされます。インスタンスのステータスは [リアルタイムで生成された期限切れインスタンス] となり、実際のコードロジックは実行されません。詳細については、「新しいノードをデプロイした後の即時インスタンス生成」をご参照ください。

  • シナリオ 1: スケジュール時刻がインスタンス生成時刻より後で、かつその 2 つの時点の差が 10 分未満の場合、インスタンスステータスは [リアルタイムで生成された期限切れインスタンス] になります。

    :ノード A のスケジュール時刻が 09:05 で、ノードが 09:00 にデプロイされたとします。インスタンスのスケジュール時刻がインスタンス生成時刻に対して将来であっても、2 つの時刻の差が 10 分未満の場合、ノード A はステータスが [リアルタイムで生成された期限切れインスタンス] のドライランインスタンスを生成します。

  • シナリオ 2:スケジュール時刻がインスタンス生成時刻に対して過去である場合。[リアルタイムで生成された期限切れインスタンス] のインスタンスが即時に生成されます。

    :ノード A のスケジュール時刻が 09:00 で、10:00 にデプロイされたとします。インスタンス生成時刻がデプロイ時刻より前です。ノード A は、ステータスが [リアルタイムで生成された期限切れインスタンス] のドライランインスタンスを即時に生成します。

即時インスタンス生成の適用シナリオ

Instant generation after publishing モードを使用してインスタンスを生成する場合、関連するシナリオにおけるインスタンスの実行と上流/下流の依存関係の動作は次のとおりです。

新しいノードをデプロイした後の即時インスタンス生成

新しいタスクがデプロイされた日に、インスタンスは即時に生成されます。デプロイ日に生成されたインスタンスが実際に実行されるかどうかは、タスクのスケジュール時刻に依存します。詳細については、次の表をご参照ください。

シナリオ

説明

スケジュール時刻が実際のインスタンス有効時刻に対して将来である

DataWorks は、スケジュール時刻に基づいて実行可能な定期インスタンスを生成し、実行します。

Instant generation after publishing ポリシーは、当日のインスタンス実行にのみ影響します。インスタンスが置き換えられるかどうかは、スケジュール時刻がデプロイ時刻の少なくとも 10 分後であるかどうかによって決まります。詳細については、「背景情報」をご参照ください。

スケジュール時刻が実際のインスタンス有効時刻に対して過去である

DataWorks は、ステータスが [リアルタイムで生成された期限切れインスタンス] の期限切れドライランインスタンスを生成します。これらのインスタンスは実際には実行されません。

当日のデータを実行する必要がある場合は、バックフィルデータ操作を実行して、前の営業日のデータをバックフィルできます。この操作でも、インスタンスを生成する際に 10 分のタイムラグがあります。詳細については、「背景情報」をご参照ください。

例:タスクが本番環境に 12:00 にデプロイされたとします。即時インスタンス生成の有効時刻は 12:10 です。

  • タスクのスケジュール時刻が 12:10 より後の場合、タスクは実際にスケジューリングされ、実行されます。

  • タスクのスケジュール時刻が 12:10 より前の場合、タスクはドライランを実行し、そのインスタンスステータスは [リアルタイムで生成された期限切れインスタンス] となります。

デプロイ済みタスクのスケジュールの更新

本番タスクのスケジュール時刻を更新してデプロイした後、変更前と変更後のインスタンスが同じ日に共存する可能性があり、依存関係が複雑になることがあります。必要でない限り、デプロイ済みのタスクに Instant generation after publishing モードを使用しないことを推奨します。以下は、スケジュールを時間単位から日単位に変更するシナリオの例です。

説明

このシナリオは、即時インスタンス生成が設定されたタスクがデプロイされた当日にのみ発生します。翌日には、構成に基づいてインスタンスが正常に生成されます。

  • ケース 1:6 時間ごとのスケジューリングから日次スケジューリングへの変更 (日次スケジュール時刻が過去の場合)。

    09:00 に、スケジュールを 6 時間ごとから 08:00 の日次に変更することで、タスクのスケジュール時刻を過去の時刻に変更します。当日のインスタンスの依存関係は次のとおりです。

  • ケース 2:6 時間ごとのスケジューリングから日次スケジューリングへの変更 (日次スケジュール時刻が将来の場合)。

    09:00 に、スケジュールを 6 時間ごとから 18:00 の日次に変更することで、タスクのスケジュール時刻を将来の時刻に変更します。当日のインスタンスの依存関係は次のとおりです。

    • インスタンスの生成:09:00 以降、新しい構成に基づいて日次インスタンス A3 が生成されます。

    • 既存インスタンスの置き換え:新しいインスタンス A3 は、元のインスタンス A3 と A4 を置き換えます。

    • インスタンスの保持:09:10 より前の時間単位のインスタンスは保持されます。

説明
  • スケジュール時刻が将来である場合:DataWorks は、最新のスケジュール設定に基づいて、将来の時間範囲ですでに生成されているインスタンスを置き換えます。

  • スケジュール時刻が過去である場合:DataWorks は、変更された構成の有効時刻より前のインスタンスを保持し、有効時刻以降のインスタンスを置き換えるか削除します。

スケジュール時刻を変更してデプロイした後、当日にインスタンスが再生成されて実際に実行されるかどうかは、タスクのスケジュール時刻設定と、変更が本番環境にデプロイされた時刻によって決まります。詳細については、「背景情報」をご参照ください。

スケジュール時刻の変更が下流の依存関係に与える影響

タスクのデプロイ後に即時生成されたインスタンスの場合、下流タスクは上流タスクの最新のスケジュール設定に基づいて依存関係を設定します。スケジュールは、日次、月次、または時間単位にすることができます。

説明

スケジュール時刻が変更された本番タスクの場合、下流インスタンスは、新しく生成されたインスタンスと置き換えられなかった古いインスタンスの両方に対して、最新のスケジュール設定に基づいて依存関係を設定します。時間単位および分単位のシナリオにおける依存関係の動作の詳細については、「スケジュール時刻変更の依存関係の詳細」をご参照ください。このシナリオは、デプロイするノードバージョンのインスタンス生成モードが Instant generation after publishing に設定され、スケジュール時刻が変更された場合にのみ発生します。

以下はシナリオの例です。

  • ケース 1:上流ノードのスケジュールが 6 時間ごとから 8 時間ごとに変更され、即時インスタンス生成が選択された場合。

  • ケース 2:上流ノードのスケジュールが 6 時間ごとから毎日 16:00 に変更され、即時インスタンス生成が選択された場合。

タスクのスケジュール時刻を変更し、即時インスタンス生成を選択すると、下流インスタンスは最新のスケジュール設定に基づいて依存関係を調整し、新しく生成されたインスタンスと置き換えられなかった古いインスタンス間の依存ロジックが正しいことを保証します。置き換えられなかった古いインスタンスと新しく生成されたインスタンスの両方に対して、下流タスクは対応する依存関係を設定し、正しいスケジューリングロジックを保証します。

上流タスクと下流タスクでインスタンス生成モードが一致しない

上流ノードと下流ノードの両方が新しく作成され、それらのインスタンス生成モードが一致しない場合 (たとえば、上流が T +1 generated next day を使用し、下流が Instant generation after publishing を使用する場合)、孤立ノードが発生します。孤立ノードは自動的にスケジューリングされません。このような孤立ノードに多くの下流の依存関係がある場合、重大な問題を引き起こす可能性があります。