🦔
Digdagを使うためにしれたら良さそうなこと
前回の記事に引き続きdigdagの理解をしているところです。
まだまだ荒削りな感じではありますが、これを知っておけばdigdagを調べて使えるよね~くらいな内容です。
digdagの実行
digdagはプロジェクトを立てた時点で、実行用のサンプルが付いています。
$ digdag init mydag
実行するには以下のようにrunコマンドで実行できます。
$ cd mydag
$ digdag run mydag.dig
たとえばExample
digdagでは.dig
という拡張子が使われており、これはyamlの拡張になっている。
timezone: UTC
_export:
sh:
shell: ["/usr/bin/zsh"]
+step1:
sh>: tasks/shell_sample.sh
+step2:
py>: tasks.MyWorkflow.step2
param1: this is param1
+step3:
rb>: MyWorkflow.step3
require: tasks/ruby_sample.rb
タスク
+
で記述されているのは1つのタスクとして扱われる。
タスクは上から順番に実行される。
オペレータ
オペレータ>
以降で記述されるのは様々なオペレーションによって色々なアクションを記述することができる。
上記で出ているsh>
やpy>
やrb>
はおそらくみんなが思っていることが実行される。
オペレータ一覧は
パラメータ
パラメータは_
から始まるものを表します。
全体的に利用するのもあれば、特定のオペレータでのみ利用するパラメータが存在します。
変数定義
_export:
パラメータを利用することで変数が定義できる。これはタスク内で記述すればそのタスク内だけの変数として扱うことができる。(スコープが効く)
_export:
foo: 1
他にもrbやpy上で変数を取得したり、登録することが可能。
組み込み変数
digdagにはすでに定義されている組み込み変数が存在しています。
組み込み変数の一覧は以下。
digdagのモード
digdagは3つのモードが存在している。
ローカルモード、サーバーモード、クライアントモードである。
モードといっても、実際にずっと動くのはサーバーモードだけ。ただローカルモードにはスケジューラ機能があるのでスケジューラ機能を使うなら動いてることになるね。
- ローカルモードは即時実行するために使うモード。
- サーバーモードは文字通りdigdagサーバーが立ち上がるモード。これはブラウザ上から管理画面にアクセスして書いたり実行したりできる。
- クライアントモードはdigdagサーバーに対してCUIで命令実行するモード。
各種モードのコマンドリストは以下から。
Discussion