見出し画像

ワークフローエンジンとは?digdagとは?

おはこんばんにちは、データエンジニアのimomusiと申します!
今回はワークフローエンジンの説明とその代表的な”digdag”の簡単な説明を行っていきたいと思います!

ワークフローエンジンとは?

「ワークフローエンジン」とは、いろんな操作を定義に従い自動管理・実行してくれるソフトウェアのことです。

具体的な説明として、ワークフローエンジンを使わない場合と使う場合の違いやメリットを説明したいと思います。


ワークフローエンジンを使わない場合

  • 業務ごとに依存関係を表現できない
    →タスクAを開始し、完了後、タスクBを開始したい場合、午後1時からタスクAを開始し、完了したとみなして午後2時からタスクBを開始するという書き方になる。そのときタスクAが午後2時までに終わらなかった場合、タスクBがうまく実行されない(タスクAが午後2時を過ぎて完了したとしても)

  • タスクの成否や調査用のログを担当者が調べなけらばならない
    →タスクの成否を確認するために、担当者がファイルをチェックしたり、失敗時の調査用のログ閲覧の機構を作りこむ必要がある


ワークフローエンジンを使う場合

  • タスクが完了するごとに、その結果に応じて設定した次のタスクが実行できるよう、パッチの管理が可能。

  • タスク実行後は通知を送信し、ステータスの履歴を保存したり、エラー発生時にはエラーの条件を自動で検出したりできる

以上がワークフローエンジンの説明です!
続いてdigdagの説明を行いたいと思います。

digdagとは?

digdagの特徴として、以下のものがあげられます。

  • 開発が簡単に行える

  • Groupでタスクを整理、管理可能

  • プラグインによる拡張

  • 再起動せず、エラー箇所から再開

  • 様々なクラウドに対応(S3等)

  • ワークフローをコードで定義可能

digdagの基本的な流れ

  1. [.dig]ファイルの作成

  2. [timezone]の設定

  3. [_export]で変数を設定

  4. [+XXXX]でタスクの定義

  5. [XXXX>]でオペレータの使用

上記の流れを実際のコードで確認すると

この画像のプログラムは[start digdag]を表示するプログラムです。
これがざっくりした流れです!


以上がワークフローエンジンとdigdagの説明でございます!
最後まで読んでいただきありがとうございました!!

いいなと思ったら応援しよう!