このトピックでは、タスクオーケストレーションに関連する基本概念を紹介します。
タスク
タスクは、実行されるべき操作である。
タスクノード
タスクノードは、タスクフロー内のタスクを表します。 ノードは、タスクフロー内の特定の位置に配置できます。 エッジは、タスクノード間の依存関係を確立するために使用される。 次のタイプのタスクノードが提供されます。
データ統合ノード
データ処理ノード
ステータスチェックノード
一般ノード
ノードインスタンス
複数のノードインスタンスは、タスクフローインスタンスを形成する。 ノードインスタンス間の依存関係は、タスクフローのバージョンに基づいて異なる場合があります。
タスクフローを復元すると、実行に失敗したノードインスタンスのみが依存関係に基づいて再実行されます。 タスクフローを再実行すると、依存関係に基づいてすべてのノードインスタンスが再実行されます。 復元と再実行の両方の操作は、実行されたタスクフローのバージョンに基づいて実行されます。
ノードインスタンスは、次のいずれかの状態になります。
ランニング
容疑者
失敗
成功
殺害
SKIPPED
キャンセル
キュー
タスクフロー
タスクフローは、特定の順序で配置されたタスクノードのグループです。 タスクノードは、別のタスクノードに依存することができる。 有向非巡回グラフ (DAG) は、タスクノード間の依存関係を表すために使用される。 タスクフロー内のすべてのタスクノードを実行できます。
タスクフローのバージョン
タスクフローバージョンは、ある時点におけるタスクフローのスナップショットである。 タスクフローのバージョンは、次のいずれかの状態です。
編集バージョン: タスクフローの現在の編集可能バージョン。 タスクフローをテスト実行するたびに、タスクフローの編集バージョンが保存されます。 テストの実行は手動でトリガーされ、最新の編集バージョンに基づいています。
公開バージョン: タスクフローが公開された後に生成されるバージョン。 タスクフローの各スケジュールされた実行は、最新の公開バージョンに基づいています。
タスクフローのトリガーメソッド
タスクフローは、スケジュールまたは手動でトリガーできます。
手動トリガー: タスクフローは、最新の編集バージョンに基づいて手動でトリガーされます。
スケジュールされたトリガー: タスクフローは、最新の公開バージョンに基づいて実行されるようにスケジュールされます。
タスクフローインスタンス
タスクフローインスタンスは、タスクフローの実行時レコードです。 正常に実行されたタスクフローを再実行できます。 実行に失敗したタスクフローを復元するか、タスクフローインスタンスの状態をFAILからSUCCESSに変更できます。
タスクフローを手動でトリガーすると、タスクフローインスタンスのバージョンが生成されます。
タスクフローインスタンスは、次のいずれかの状態になります。
Edge
エッジは、タスクフローのDAGにおける方向線である。 エッジは、開始ノードと終了ノードとを接続する。 エッジは、2つのタスクノード間の依存関係を確立するために使用される。 始点ノードは終点ノードの上流であり、終点ノードは始点ノードの下流である。 下流ノードは、すべての上流ノードが正常に実行された場合にのみ実行されます。 次のタイプのエッジが提供されます。
Edge: 2つのタスクノード間、またはタスクノードとタスクフロー間の依存関係を反映する方向線。
Edge in a task flow: 同じタスクフローに属する2つのタスクノード間の依存関係。
Edge across task flows: 異なるタスクフローに属する2つのタスクノード間の依存関係。 タスクフローのイベントスケジューリングを設定して、このタイプのエッジを作成できます。
営業時間
業務時間は、タスクフローが実行される時間より1日前です。 営業時間はbizdate変数で表されます。 詳細については、「変数」をご参照ください。
データの埋め戻し
データバックフィル操作は、タスクフローの公開されたバージョンNに基づいて、特定の時点または時間範囲の1つまたは複数のタスクフローインスタンスを生成します。
所有者および利害関係者
所有者: タスクフローと関連する設定を編集できるのは、タスクフローの所有者だけです。 所有者は、タスクフローをテスト実行し、タスクフローで実行時アラートを受け取ることができます。
利害関係者: タスクフローの利害関係者には、タスクフローと関連する設定を表示する権限があります。 利害関係者はタスクフローをテスト実行できますが、タスクフローと関連する設定を編集できません。
タスクフローをトリガーする権限
タスクフローの所有者と関係者がタスクフローをトリガーできるかどうかは、所有者が関連するデータベースとテーブルに対して必要な権限を持っているかどうかによって異なります。
重要所有者が関連するデータベースとテーブルに対して必要な権限を持っていない場合、タスクフローをトリガーする利害関係者が必要な権限を持っていても、タスクフローは失敗します。
タスクフローの所有者および利害関係者は、タスクフローをトリガすることができる。
実行時間
タスクが実行される時刻。
実行モード
Try Run
今すぐタスクフローを実行します。
ドライラン
タスクフローAはタスクフローBに依存します。タスクフローaは、タスクフローの依存関係をチェックするためのタスクノードを使用してタスクフローBに依存しますが、タスクフローBを実行せずに実行できます。 次に、タスクフローAを正常に実行することができる。
特定の時点で実行
このモードを使用するには、タスクフローの時間変数を定義し、SQL文で参照する必要があります。 時間変数の値は、タスクフローが実行される前日と指定されたオフセットに基づいて計算されます。 これにより、SQL文や関連する設定を変更することなく、特定の時点でタスクフローを実行できます。
特定の時間範囲で実行
このモードを使用するには、タスクフローに複数の時間変数を定義する必要があります。 このモードでタスクフローを開始した後、実行できるノードインスタンスは50個だけです。
たとえば、タスクフローのスケジューリングサイクルが1日の場合、タスクフローインスタンスは50日間しか実行できません。
説明時間範囲内で実行されるタスクフロー内のタスクは、連続的に実行される。 タスクは、次の営業時間に実行する前に、前の営業時間に正常に実行されている必要があります。