今回の投稿背景
進行中のワークフローがありまして
ちょっと2時間以上放置してまして
そのあと承認したとおもったら・・・
まだ次の承認があるはずなのに、すべてが終わるという
とんでもないバグが見つかったんですよぉ~
なぁにぃ~?やっちまったなぁ!!
男は黙って
「IF分岐!」
・・・すみません(*ノωノ)
原因
このタイムアウトが原因です。
デフォルトがPT1H(1時間)となっています。
Logic Appのマニュアルサイトを見ると
参考サイト:Azure Logic Apps 内のワークフロー アクションを繰り返す、または配列を処理するループを作成する
となっており、この条件分岐に入って1時間経過したら
「フローは止めないけど、ループは終わるよ!」という仕様のようです。
さてどうする?
それなりに時間を確保しておきたいので、ざっと1年としとけば大丈夫でしょ!という安易な考えで
Wikipediaさんを参考に
https://ja.wikipedia.org/wiki/ISO_8601
PY1
実は制限事項があるのです
参考サイト:Microsoft Flow での制限事項と構成
要は、30日以上は承認自体がタイムアウトしまっせ!ということです。
なので、30日以上に設定するのはNGという形ですね。
というわけで・・・
こうしたわけですよ。
タイムアウト時間を720時間(30日)に設定しました。
結果は・・・
問題なし!
まとめ
・ クラウドのリソースを使う仕様なので、条件分岐には結構制約事項がある
・ 今回の制約事項は一般ユーザに使ってもらってて判明した内容
・ やはりこういう簡単にいろいろできちゃうものでもテストは超重要