LoginSignup
5
5

More than 5 years have passed since last update.

Microsoft FlowのDo Until途中で終わってしまう悪夢を経験したお話

Posted at

今回の投稿背景

進行中のワークフローがありまして
ちょっと2時間以上放置してまして
そのあと承認したとおもったら・・・
まだ次の承認があるはずなのに、すべてが終わるという
とんでもないバグが見つかったんですよぉ~

なぁにぃ~?やっちまったなぁ!!

男は黙って
「IF分岐!」
・・・すみません(*ノωノ)

原因

image.png
このタイムアウトが原因です。
デフォルトがPT1H(1時間)となっています。
Logic Appのマニュアルサイトを見ると
image.png

参考サイト:Azure Logic Apps 内のワークフロー アクションを繰り返す、または配列を処理するループを作成する

となっており、この条件分岐に入って1時間経過したら
「フローは止めないけど、ループは終わるよ!」という仕様のようです。

さてどうする?

それなりに時間を確保しておきたいので、ざっと1年としとけば大丈夫でしょ!という安易な考えで
Wikipediaさんを参考に
https://ja.wikipedia.org/wiki/ISO_8601

DoUntil_TimeOut
PY1

って宣言したんですよ。
・・・まぁ怒られましたけどねOrz
image.png

実は制限事項があるのです

参考サイト:Microsoft Flow での制限事項と構成
image.png

要は、30日以上は承認自体がタイムアウトしまっせ!ということです。
なので、30日以上に設定するのはNGという形ですね。

というわけで・・・

こうしたわけですよ。
image.png
タイムアウト時間を720時間(30日)に設定しました。

結果は・・・

問題なし!

まとめ

・ クラウドのリソースを使う仕様なので、条件分岐には結構制約事項がある
・ 今回の制約事項は一般ユーザに使ってもらってて判明した内容
・ やはりこういう簡単にいろいろできちゃうものでもテストは超重要

5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5