- 印刷
- PDF
ワークフロー定義について
- 印刷
- PDF
概要
ワークフロー定義についてのヘルプページです。
ワークフロー定義は、FreeプランまたはEssentialプラン以上の契約アカウントでのみ、ご利用いただけます。
ワークフローの中に組み込む転送ジョブやデータマートジョブなどの1個ずつの単位を「タスク」と呼びます。
ワークフロー定義では、タスクの順序と組み合わせを設定することで、一連のフローを作成します。
ワークフローに定義できるタスク
ワークフローには以下のタスクを組み込むことができます。
- TROCCO転送ジョブ
- TROCCOマネージド転送設定
- TROCCOデータマートシンク
- TROCCOワークフロー
- TROCCO dbtジョブ
- Google BigQueryデータチェック
- Snowflakeデータチェック
- Amazon Redshiftデータチェック
- HTTPリクエスト
- Slack通知
- Tableauデータ抽出
タイムアウト設定
タスク同時実行上限数
フロー内で設定する並列のタスクを同時実行する上限数を決定します。
最大で10個までのタスクを同時実行できます。
タスク同時実行上限数を設定すると、各タスクを並列で定義した際に、1つのワークフロー上で並列で動くタスク数が増えるため、ワークフロー全体の実行時間短縮につながります。
タイムアウト設定
無効にした場合、ワークフロー定義上では、実行時間によるタイムアウトは設けません。設定したワークフローが完了するまで実行が進みます。
有効にした場合、ワークフロージョブが開始してから設定した時間が経過すると、ジョブをキャンセルします。
タイムアウトでジョブがキャンセルされると、停止位置から再実行、もしくはワークフロージョブを中断できます。
もし、転送元などワークフロー定義以外の場所でタイムアウトを設定していた場合、そちらのほうがワークフロー定義上のタイムアウト設定よりも優先されます。
たとえば後続で利用しているBIツールのジョブのスケジュールの関係など、指定の時間までにワークフロー処理が終わっていないといけない等の制限がある場合、時間になったら強制的にワークフロージョブを停止したい、といった場合に使用できる機能です。
リトライ回数
ワークフローが失敗したときに、自動リトライを行う回数、および次回リトライ実行までの時間間隔を設定します。
なお、以下の場合には自動リトライは行われません。
- 回数を0回に設定した場合
- タスクが全て成功だった場合
- キャンセルがあった場合
リトライ回数とリトライ間隔の積は60分を超えないように設定する必要があります。
ジョブの重複実行
ワークフロージョブが、次のスケジュールの時間になってもまだ実行中の場合、次のスケジュールをスキップするか重複実行するかを選択します。
スキップした場合、データのリアルタイム性は下がりますが、転送先でのデータ重複などの心配がありません。重複実行した場合、データの二重反映などの懸念がありますが、スケジュール通りのデータ反映が行えます。
タスクのエラーハンドリング
前のタスクが失敗したとき、以降のタスクを実行するかどうかを選択します。
OFFにした場合、いずれかのタスクが失敗すると、後続のタスクを実行せず、ワークフローを停止します。
ONにした場合、いずれかのタスクが失敗しても、後続のタスクを実行します。
ワークフロー内に前後の依存関係をもつタスクがあるケースでは、エラーハンドリングをOFFにし、意図しないデータの更新を避けることができます。
依存関係のないタスクのみの構成であれば、失敗したタスク以外は実行しても問題ないと考えられます。
スケジュール設定・通知設定
- ワークフローのジョブ実行をスケジュール設定して管理できます。
毎時、毎日、毎週、毎月の4パターンから、実行するタイミングを選択します。
ワークフロー定義と各タスクにそれぞれスケジュール設定をしていた場合、すべてのスケジュールが実行されるものとなります。可能な限り、ワークフロー定義か各タスクか、どちらかにスケジュール設定を寄せて運用することをおすすめします。
- SlackもしくはEmailでの通知を設定し、アラートを管理できます。
1つのワークフローに対して複数の通知を設定できるので、ワークフロージョブ完了時、エラー時などによって使い分けることが可能です。
フロー編集
- フロー編集画面で、転送ジョブやデータマートシンクなどを配置することで、フローを作成します。
- フロー図内を範囲選択することで複数のタスクを一度に選択し、1つの始点から一度に線を引いて順序を設定できます。
- ワークフローの親子関係を作成できます。
子ワークフローのタスクが失敗したことにより親ワークフローが停止し、親ワークフローを再実行する場合、子ワークフローのエラーになったジョブから再実行がスタートします。
ワークフロージョブが失敗したときの挙動
ワークフロージョブが失敗した状態からジョブを再実行すると、停止したタスクから再実行がスタートします。
例)
- 転送ジョブ並列2タスク+データマート+通知のフロー図
- 並列実行2タスクまで許可している
- 転送ジョブの1つが失敗した場合
- タスクのエラーハンドリングをONにしている場合、失敗していない転送ジョブ、データマートジョブ、通知タスクは実行されます。
- タスクのエラーハンドリングをOFFにしている場合、エラーが検知された時点でワークフロージョブが停止します。
- エラーが検知された転送ジョブの設定を変更し、再実行すると、修正したタスクから再実行がスタートし、後続のジョブが実行されます。