scheduleをdailyからcronに変更した際に動作が変わった点があったので紹介します
digdagのバージョンはv0.9.39です
※スケジュール実行された場合の挙動であり、UIから自分でRUNした場合などは以下のような動きにはなりません
daily.dig
timezone: 'Asia/Tokyo'
schedule:
daily>: 14:00:00
+task:
sh>: echo ${moment(session_time).add(-1, 'hour').format("YYYYMMDD")}
cron.dig
timezone: 'Asia/Tokyo'
schedule:
cron>: "0 14 * * *"
+task:
sh>: echo ${moment(session_time).add(-1, 'hour').format("YYYYMMDD")}
どちらも毎日14時にsession_timeから1時間前の日付をYYYYMMDD形式で出力するワークフローですが、上記2つは異なる日付を出力します
「2019-09-11 14:00:00」実行分を例にすると
(1)dailyで実行の場合
session_timeは「2019-09-11T00:00:00+09:00」となります
そのため「20190910」が出力されます
(2)cronで実行の場合
session_timeは「2019-09-11T14:00:00+09:00」となります
そのため「20190911」が出力されます