--- articleId: 58b7b575-52bc-40b1-9806-6f7f3716c5bb slug: about-workflow title: ワークフロー定義について parentCategoryId: 6f2c2c28-57a2-4d93-a35f-b96f0a65affd languageCode: ja --- ## 概要 ワークフロー定義についてのDocsです。 :::(Warning) (プラン上の制約) ワークフロー定義は、**30日トライアル**プランまたは**Essential**プラン以上の契約アカウントでのみ、ご利用いただけます。 フリープランおよびStarterプランではご利用いただけません。 ::: ワークフローの中に組み込む転送ジョブやデータマートジョブなどの1個ずつの単位を「タスク」と呼びます。 ワークフロー定義では、タスクの順序と組み合わせを設定することで、一連のフローを作成します。 ![about-workflow-2024-08-29-11-51-0](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/about-workflow-2024-08-29-11-51-0.png){height="" width=""} ## ワークフローに定義できるタスク ワークフローには以下のタスクを組み込むことができます。 - TROCCO転送ジョブ - TROCCOマネージド転送設定 - TROCCOデータマートシンク - TROCCOワークフロー - TROCCO dbtジョブ - Google BigQueryデータチェック - Snowflakeデータチェック - Amazon Redshiftデータチェック - Databricksデータチェック - HTTPリクエスト - Slack通知 - Tableauデータ抽出 - 条件分岐 ## ワークフロー全体設定 ### タスク同時実行上限数 フロー内で設定する並列のタスクを同時実行する上限数を決定します。 最大で10個までのタスクを同時実行できます。 タスク同時実行上限数を設定すると、各タスクを並列で定義した際に、1つのワークフロー上で並列で動くタスク数が増えるため、ワークフロー全体の実行時間短縮につながります。 ### タイムアウト設定 **無効**にした場合、ワークフロー定義上では、実行時間によるタイムアウトは設けません。設定したワークフローが完了するまで実行が進みます。 **有効**にした場合、ワークフロージョブが開始してから設定した時間が経過すると、ジョブをキャンセルします。 タイムアウトでジョブがキャンセルされると、停止位置から再実行、もしくはワークフロージョブを中断できます。 もし、転送元などワークフロー定義以外の場所でタイムアウトを設定していた場合、そちらのほうがワークフロー定義上のタイムアウト設定よりも優先されます。 たとえば後続で利用しているBIツールのジョブのスケジュールの関係など、指定の時間までにワークフロー処理が終わっていないといけない等の制限がある場合、時間になったら強制的にワークフロージョブを停止したい、といった場合に使用できる機能です。 ### リトライ回数 ワークフローが失敗したときに、自動リトライを行う回数、および次回リトライ実行までの時間間隔を設定します。 なお、以下の場合には自動リトライは行われません。 - 回数を0回に設定した場合 - タスクが全て成功だった場合 - キャンセルがあった場合 :::(Warning) (リトライ間隔に関する制約) リトライ回数とリトライ間隔の積は60分を超えないように設定する必要があります。 ::: ### ジョブの重複実行 ワークフロージョブが、次のスケジュールの時間になってもまだ実行中の場合、次のスケジュールをスキップするか重複実行するかを選択します。 スキップした場合、データのリアルタイム性は下がりますが、転送先でのデータ重複などの心配がありません。重複実行した場合、データの二重反映などの懸念がありますが、スケジュール通りのデータ反映が行えます。 ### タスクのエラーハンドリング 前のタスクが失敗したとき、以降のタスクを実行するかどうかを選択します。 **OFF**にした場合、いずれかのタスクが失敗すると、後続のタスクを実行せず、ワークフローを停止します。 **ON**にした場合、いずれかのタスクが失敗しても、後続のタスクを実行します。 ワークフロー内に前後の依存関係をもつタスクがあるケースでは、エラーハンドリングをOFFにし、意図しないデータの更新を避けることができます。 依存関係のないタスクのみの構成であれば、失敗したタスク以外は実行しても問題ないと考えられます。 :::(Warning) (条件分岐タスクを利用する場合のエラーハンドリング) 条件分岐でタスクの実行結果がエラーの時に後続のタスクを指定するには、本設定をONにする必要があります。 ::: ## スケジュール設定・通知設定 - ワークフローのジョブ実行をスケジュール設定して管理できます。スケジュール設定についての詳細は[スケジュール機能について](/docs/schedule-settings)を参照ください ![image2.png](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/about-workflow-2024-08-29-11-51-2.png){height="" width=""} - SlackもしくはEmailでの通知を設定し、アラートを管理できます。 1つのワークフローに対して複数の通知を設定できるので、ワークフロージョブ完了時、エラー時などによって使い分けることが可能です。 ![image3.png](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/about-workflow-2024-08-29-11-51-3.png){height="" width=""} ## フロー編集 - フロー編集画面で、転送ジョブやデータマートシンクなどを配置することで、フローを作成します。 - フロー図内を範囲選択することで複数のタスクを一度に選択し、1つの始点から一度に線を引いて順序を設定できます。 - ワークフローの親子関係を作成できます。子ワークフローのタスクが失敗したことにより親ワークフローが停止し、親ワークフローを再実行する場合、子ワークフローのエラーになったジョブから再実行がスタートします。 ![image4.png](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/about-workflow-2024-08-29-11-51-4.png){height="" width=""} ## ワークフロージョブが失敗したときの挙動 ワークフロージョブが失敗した状態からジョブを再実行すると、停止したタスクから再実行がスタートします。 例) - 転送ジョブ並列2タスク+データマート+通知のフロー図 - 並列実行2タスクまで許可している - 転送ジョブの1つが失敗した場合 - タスクのエラーハンドリングをONにしている場合、失敗していない転送ジョブ、データマートジョブ、通知タスクは実行されます。 - タスクのエラーハンドリングをOFFにしている場合、エラーが検知された時点でワークフロージョブが停止します。 - エラーが検知された転送ジョブの設定を変更し、再実行すると、修正したタスクから再実行がスタートし、後続のジョブが実行されます。