ドライランインスタンスとは、スケジューリングシステムによって正常に実行されたとマークされるものの、実際には実行されないインスタンスのことです。データは処理されず、運用ログも生成されず、実行時間も記録されません。
ノードとインスタンス: ノードは、何を実行するかを定義するテンプレートです。インスタンスは、スケジューラがそのノードをトリガーするたびに作成されるランタイムレコードです。ドライランはインスタンスのプロパティであり、ノードのプロパティではありません。ただし、ノードの構成が、そのインスタンスがドライランになるかどうかを直接決定します。
ドライランインスタンスが存在する理由
5つのスケジューリング条件によってドライランインスタンスが生成されます。シナリオの詳細を読む前に、以下の表を使用して状況を特定してください。
| トリガー条件 | インスタンスステータス表示 | 想定される、または対応が必要 |
|---|---|---|
| ノードが週次または月次でスケジュールされており、今日がスケジュールされた日ではない | (通常のスケジューリングステータス) | 想定通り — 設計による |
| ノードがStart Instantiation = Immediately After Deploymentでデプロイされ、インスタンスがデプロイ後10分以内にスケジュールされている | Deprecated real time generated task | 想定通り — 設計による |
| 失敗したインスタンスが手動で成功に設定された | Instance Set Successfully | 想定通り — 意図的な操作 |
| ノードのRecurrenceがスケジュール構成でDry Runに設定されている | (通常のスケジューリングステータス) | 対応が必要 — 構成を確認してください |
| ノードがバックフィルワークフローから除外されているが、依存関係チェーンに含まれている | Unselected instance in temporary workflow | 想定通り — 設計による |
シナリオ 1: 週次または月次ノード — 今日がスケジュールされた日ではない
毎週または毎月特定の日に実行するようにスケジュールされたノードの場合、スケジューリングシステムはその日にのみノードを実行します。それ以外の日は、実際にノードを実行する代わりにドライランインスタンスを生成します。
ノードのスケジュールを確認するには、ノードの[プロパティ] タブ > [スケジュール] セクションに移動し、設定された繰り返し頻度の日付を確認します。
週次または月次ノードのデータをバックフィルする際にドライランインスタンスを回避するには、データバックフィルノードを使用し、データタイムスタンプをノードのスケジュールされた実行日の直前の日に設定します。
-
月次ノード (毎月1日に実行): データタイムスタンプを毎月の最終日に設定します。
-
週次ノード (月曜日に実行): データタイムスタンプを毎週日曜日に設定します。
自動トリガーされたインスタンスが実際に実行されるには、そのスケジュール時刻がノードのデプロイ後10分以上である必要があります。または、データタイムスタンプを昨日に設定し、データバックフィルノードを使用します。これにより、自動トリガーされたインスタンスは今日スケジュール通りに実行されます。
自動トリガーされたインスタンスのスケジュール時刻とデータタイムスタンプを今日の日付で表示します。
シナリオ 2: デプロイ後すぐにインスタンスが非推奨になる
「プロパティ」タブの「スケジュール」セクションで インスタンス化の開始 を [デプロイ直後] に設定すると、スケジューリングシステムは、デプロイメントから 10 分以上経過したスケジュール時刻を持つインスタンスのみを実行します。デプロイメントから 10 分以内にスケジュールされたインスタンスはスキップされ、代わりにステータスが 非推奨のリアルタイム生成タスク であるドライランインスタンスが生成されます。
この設定の構成に関する詳細については、「ノードがインスタンスをすぐに生成するための時間プロパティを構成する」をご参照ください。
シナリオ 3: インスタンスが手動で成功に設定された
失敗したインスタンスのステータスを成功に設定すると、スケジューリングシステムはそのインスタンスを再実行しません。 代わりに、インスタンスをスキップし、下流 (子孫) ノードインスタンスの実行を継続します。 インスタンスステータスは [インスタンスは正常に設定されました] ([成功] とも表示) となります。
シナリオ 4: ノードの繰り返し頻度がドライランに設定されている
ノードが常にドライランインスタンスを生成する場合は、そのスケジュール構成を確認してください。
DataStudio で、ノードの [プロパティ] タブ > [スケジュール] セクションに移動し、[繰り返し] が [ドライラン] に設定されているかどうかを確認します。設定されている場合、スケジューリングシステムは常にそのノードのドライランインスタンスを生成します。
シナリオ 5: ノードがバックフィルワークフローから除外されている
依存関係チェーン内のノードのサブセットに対してバックフィルを実行する場合、選択されていない中間ノードには、ステータスが[一時的なワークフロー内の未選択インスタンス]のドライラン インスタンスが作成されます(これは、ユーザーが一時的なバックフィル ワークフローでノードのサブセットを手動で選択したときにトリガーされます)。
たとえば、依存関係チェーン Node C → Node B → Node A (C は B に依存し、B は A に依存します) があるとします。Node A と Node C のデータをバックフィルし、Node B のデータをバックフィルしない場合、スケジューリングシステムは Node B のドライランインスタンスを生成します。
日次ノードのドライランのトラブルシューティング
日次スケジュールされたノードが予期せずドライランインスタンスを生成している場合は、ノードの [プロパティ] タブ > [スケジュール] セクションに移動し、[繰り返し] が [ドライラン] に設定されているかどうかを確認してください。
T+1 とは、スケジューリングシステムが、現在の日付に生成されたデータを使用して2日目にノードを実行することを意味します。T+1 で構成された日次ノードは、昨日のデータを使用して今日実行されます。