Digdagのオペレータ


Digdagの「オペレータ」は、.digファイルに記述する処理の命令です。
オペレータの中でよく使われるものをいくつか紹介します。

🚕 ワークフローを制御するオペレータ

別のワークフローを呼び出す

call>:は別のワークフローを呼び出すためのオペレータです。

# workflow1.dig
+step1:
call>: another_workflow.dig
+step2:
call>: common/shared_workflow.dig

呼び出される側のdigです。

# another_workflow.dig
+another:
sh>: ../scripts/my_script.sh

依存関係を表すオペレータ

require>:は別のワークフローとの依存関係を表すオペレータです。
同じセッション内でrequire>:で指定されたワークフローが完了するまで、次の実行を待ちます。

# workflow1.dig
+step1:
require>: another_workflow
# another_workflow.dig
+step2:
sh>: tasks/step2.sh

そのほかのオペレータ

オペレータ 説明
loop>:for_each>: タスクを繰り返し実行します
if>: 条件を満たす場合のみ実行します
fail>: ワークフローが失敗した場合に実行されます
echo>: メッセージを表示します

🐹 データベースに関するオペレータ

オペレータ 説明
pg>: PostgreSQLでSQLを実行します

🚜 ネットワーク関連のオペレータ

オペレータ 説明
mail>: メールを送信します
http>: HTTPリクエストを行います

🐝 AWSに関するオペレータ

オペレータ 説明
s3_wait>: S3にファイルが設置されるのを待ちます

🐯 スクリプトに関するオペレータ

オペレータ 説明
sh>: シェルスクリプトのコマンドを実行します
py>: Pythonのコードを実行します
rb>: Rubyのコードを実行します
embulk>: Embulkによるデータ転送を行います

🎉 公式ドキュメント

🐮 補足:動的に生成されたタスクに使われるオプション

  • _check : タスクが正常終了したときに生成される。完了したタスクの検証を行うときに使う

😀 参考リンク

📚 おすすめの書籍