背景
DigDagには require
という operatorがある。 -> DigDag:require
これは、主に別のワークフローに依存させたい場合などに使ったりする。
また、処理が失敗しても後続処理を続けたい場合などにも使える。 -> digdagでエラーを無視して後続タスクを進める
しかし、requireを使うと、通常の変数の渡し方では変数を渡せないので、渡し方をメモしておく。
方法
結論からいうと、paramsを使うようにする。以上。
コード例
parent.dig
_export:
var_by_export: aaa # ←通常の渡し方
+task1:
require>: child
params:
var_by_params: iii # ←requireでの渡し方
child.dig
+task2:
echo>: read var_by_params -> ${var_by_params}
# 出力: read var_by_params -> iii
# params経由は参照できる
+task3:
echo>: read var_by_export -> ${var_by_export}
# 出力: read var_by_export -> ${var_by_export} (ReferenceError: "var_by_export" is not defined
# _export経由は失敗