はじめに
この記事はMicroAd Advent Calendar 2018の10日目の記事です。
アドベントカレンダーも中盤戦に入って来ました。このあたりでちょっと軽めの記事を入れておきます。(決してさぼっているわけではありません)
ちなみにdigdagに関しては以下のような記事を過去に書いたので使ったことない方は参考にしていただければ( ◠‿◠ )
ここ半年で追加された激アツ機能TOP3
v0.9.26からv0.9.31が対象です。
※アツさの基準は個人によるものです。
3位 タスクごとにログを表示
v0.9.28で導入されました。
Experimentalなので今後どうなるかわかりませんが、個人的にはとても見やすいです。
2位 param_set・param_getオペレータ
v0.9.31で導入されました。
パラメータを外部のデータストアに保存することの出来る機能です。
project間で共有しているデータを扱う際に便利そうです。
またs3-wait
を使わないでprojectを跨いだ依存の解決にも使えそうです。(使ったことはありません)
簡単に動かしてみた例↓
redis-serevrを起動
redis-server
workflowと設定ファイルを準備
+task:
param_set>:
key1: hoge
key2: fuga
+task2:
param_get>:
key1: key_of_1
key2: key_of_2
+task3:
sh>: echo '${key_of_1} ${key_of_2}'
param_server.type=redis
param_server.host=localhost
実行
digdag run task.dig -c ./sample.config --session "2018-12-09 21:00:00"
# hoge fuga
1位 Retry Interval
v0.9.28で導入されました。
インターバルの種類がconstant
とexponential
から選ぶことが出来ます。
これまでリトライ回数の指定は可能でしたがインターバルが指定できませんでした。この機能の追加によってリトライ時の実行時間の間隔を指定できるようになりました。
おそらくリトライの設定はだいたいどのワークフローでも同じようなものなので、以下のように別ファイルに記述して、includeするのがスッキリ書けて良いのではないかと思っています。
_retry:
limit: 3 # number of retry
interval: 1800 # interval seconds
interval_type: exponential
_export:
!include: 'retry.dig'
+task:
echo>: hoge
最後に
リトライのインターバルは本当に便利なので、最近バージョンあげてないな、と思ったらすぐに最新にアップデートすることをおすすめします。
この他にも様々な機能追加など活発に開発が行われていて今後の動向からも目がはなせません。
ちなみに最近PRを送ってみました。
もしマージされたらsession viewがstatusごとに閲覧可能になります。
こんな感じです↓
簡単でしたが以上です!ありがとうございました!