Power Automateが「実行中」のまま終わらないときのタイムアウト設定方法

Power Automateでフローを作成していると、エラーが発生していないにもかかわらず、「実行中」のまま終了しないことがあります。

特に外部サービスとの連携やPower Automate for Desktop(PAD)を利用したフローでは、処理が停止しているように見えてもフローが完了せず、長時間実行されたままになるケースがあります。このような状態になると、後続処理が実行されなかったり、フローの管理が難しくなったりするため注意が必要です。

本記事では、Power Automateが「実行中」のまま終了しない原因や、タイムアウト設定の方法について解説します。


AI・Microsoft 365 活用を業務改善につなげたい企業向けに、研修・導入支援・活用サポートを行っています。
どんなことを依頼できる?」「実際の活用事例は?」という方は、ぜひ無料資料をご覧ください。

業務効率化・補助金情報をお届け/

活用事例も掲載しています /

目次

Power Automateが「実行中」のまま終わらない原因

Power Automateでは、処理内容によってはエラーにならず、実行待ちの状態が続くことがあります。

例えば以下のようなケースです。

  • HTTPリクエストの応答待ち
  • 外部システムとの通信停止
  • Power Automate for Desktopの処理停止
  • 承認アクションの回答待ち

エラーとして検知されない場合、フローは「実行中」の状態を維持し続けます。

実際に発生した事例:Power Automate for Desktop連携

弊社では、クラウドフローからPower Automate for Desktop(PAD)を稼働するフローを運用しています。

あるフローでは、PAD側の処理が途中で停止しているにもかかわらず、クラウドフロー側ではエラーにならず「実行中」のまま継続する事象が発生しました。

実際にはPADの画面上で処理が止まっている状態でしたが、フローとしては完了通知もエラー通知も返されていなかったため、クラウドフローは処理完了を待ち続けていました。

このような状態になると、以下のような問題が発生します。

  • フローの実行履歴から原因を特定しにくい
  • 後続処理が実行されない
  • 定期実行フローの場合は処理が滞留する

この事例以降、PAD実行アクションにタイムアウト設定を行い、異常時にはフローを終了させる運用に変更しました。

これにより、フローが長時間実行されたままになる事象を防げるようになりました。

このようなケースに備えて、タイムアウト設定を行っておくことが重要です。

タイムアウト設定とは

タイムアウト設定とは、アクションや処理の実行時間に上限を設定する機能です。
指定した時間内に処理が完了しなかった場合、自動的にタイムアウトとして終了させることができます。

例えば、以下のような制御が可能です。

  • 5分応答がなければ終了する
  • 30分以上待機したら失敗として扱う
  • 1日以上承認待ちが続いた場合は終了する

Power Automateの実行期間には上限がある(最大30日)

Power Automateのクラウドフローは、無制限に実行され続けるわけではありません。
1つのフローが継続して実行できる期間は最大30日間となっており、それを超えると自動的に終了します。

Power Automate公式ドキュメントでは、フロー実行期間の上限は30日とされています。
https://learn.microsoft.com/ja-jp/power-automate/limits-and-config?utm_source=chatgpt.com

そのため、何らかの原因で処理が停止していても、永久に実行され続けることはありません。

しかし、実際の運用では30日間も実行中の状態が続くと、後続処理の停止やフロー管理の負担増加につながる可能性があります。
想定外の長時間実行を防ぐためにも、処理内容に応じたタイムアウト設定を行うことをおすすめします。

タイムアウト設定方法

STEP
対象アクションの設定を開く

タイムアウトを設定したいアクションの「設定」を選択します。

STEP
タイムアウトを設定する

設定画面内の「タイムアウト」に値を入力します。
タイムアウトはISO 8601形式で指定します。

タイムアウトの記載ルール

文字意味
P期間(開始文字)
D
T時間指定の開始
H
M
S

設定例

設定値時間
PT5M5分
PT2H30M2時間30分
P1D1日

例えば、5分経過しても処理が完了しない場合にタイムアウトさせたい場合は、「PT5M」を入力します。

タイムアウト時間を超えると、そのアクションはタイムアウトとして終了します。

なお、短すぎる時間を設定すると正常な処理までタイムアウトしてしまう可能性があるため、処理内容や実行時間を考慮して設定することをおすすめします。

おすすめ:タイムアウト後の処理設定

タイムアウトした場合に備えて、通知やログ出力の設定もおすすめです。

例えば、以下のようなことを行うことで、異常発生時にすぐ対応できます。

  • 管理者へメール通知
  • Teamsへの通知
  • SharePointリストへの記録
  • エラーログの保存

「実行条件の構成」を利用すると、失敗やタイムアウト後の分岐後続処理を実行することもおすすめです。

「実行条件の構成」の設定方法

「設定」の「セクションを選択する」から設定します。

タイムアウトした場合の実行結果

Power Automate for Desktop(PAD)を実行するアクションにタイムアウトを設定し、タイムアウト時にチャットへ通知するよう設定すると、以下のような実行結果になります。

今回の例では、Power Automate for Desktop側の処理が正常に終了しなかったため、設定した時間を経過した時点でタイムアウトとなりました。

タイムアウト後は「実行条件の構成」で設定した処理が実行され、チャットへ通知が送信されます。

このようにタイムアウト時の通知を設定しておくことで、フローの異常を早期に把握できるようになります。

また、実行履歴からタイムアウトが発生した箇所を確認できるため、原因調査も行いやすくなります。

フローを安定運用するために

Power Automateでは、必ずしもエラーとして終了するとは限らず、処理が停止したまま「実行中」の状態が続くことがあります。特にPower Automate for Desktopとの連携や外部システムとの通信を含むフローでは、このような事象が発生する可能性があります。

タイムアウト設定を活用することで、想定外の長時間実行を防ぎ、トラブル発生時の影響を最小限に抑えることができます。
フロー作成時には正常時の処理だけでなく、「異常時にどう終了させるか」も考慮して設計しておきましょう。


AI・Microsoft 365 活用を業務改善につなげたい企業向けに、研修・導入支援・活用サポートを行っています。
どんなことを依頼できる?」「実際の活用事例は?」という方は、ぜひ無料資料をご覧ください。

業務効率化・補助金情報をお届け/

活用事例も掲載しています /


ご質問やご相談などがございましたら、ぜひお気軽にお問い合わせください。

2営業日以内にご返信! /

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次