IT業務効率化

digdagを便利に使うtips

${session_time}を覚えておく

以下のコードが例です。両方「今」を出力するためのコードです。

timezone: Asia/Tokyo

+now_in_digdag:
  echo>: start ${session_time}

+now_in_shell:
  sh>: date

上のnow_in_digdagは実行された時間を環境変数に持っています。下のnow_in_shellはご存知の通り実行した時間を出力します。

両者の違いはdigdagの処理がエラーして再実行${session_time}はその失敗した時間で再実行でき、dateだと再実行した時間が出力されてしまうことです

似たケースで、Pythonを実行するdigdagを作成した時に、Pythonのdatetimeを利用していたために、狙った時間で再処理できないシステムを作ってしまいました。

${session_id}を使ってslackの通知内容を便利に

session_idを取得できると、digdagの実行状況を確認できるページURLを作ることができます。

“<http://digdag-no-domain/sessions/${session_id}|${session_id}>”

上記のように記載してSlack通知すると、ワンクリックで状態を確認できます。

https://github.com/szyn/digdag-slack

こちらのライブラリを利用すると比較的簡単に通知が可能です。

参考

https://docs.digdag.io/workflow_definition.html

 

随時更新していきます!

ABOUT ME
hirayuki
今年で社会人3年目になります。 日々体当たりで仕事を覚えています。 テーマはIT・教育です。 少しでも技術に親しんでもらえるよう、noteで4コマ漫画も書いています。 https://note.mu/hirayuki