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 : タスクが正常終了したときに生成される。完了したタスクの検証を行うときに使う

🐡 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)