…おかしいですぞ。続けてフローを実行した場合、フローは正常に実行されているのに、更新されたデータが正しくありませんぞ。
もしかすると、フローの同時実行が原因かもしれませんね。
この記事では、Power Automateでフローの同時実行を制御して、1つずつフローを処理する設定方法を紹介します。
- Power Automateの同時実行とは何か
- 同時実行によって問題が起こるフローの例
- 同時実行を制御する設定方法
Youtube動画で見たい方は、こちらからどうぞ!
フローを同時実行したときに問題が起こるケース
Power Automateのフローを作成したとき、デフォルトの設定では、無制限にフローが同時実行されます。
同時実行とは、1つのフローが複数回、同時に動作することです。
例えば、SharePointリストの「項目が作成されたとき」をトリガーとしているフローの場合、続けて2回データ(レコード)が登録されたとき、以下のように、2つのフローが同時実行されます。
この「実行中」のフローが無制限に存在できる状態が、デフォルトの設定となっています。
何か問題なのですかな?効率的でよいと思いますぞ。
フローを1つずつ処理しないと、データの整合性が取れない場合は、同時実行されると問題が生じる可能性があります…
同時実行されたフローは、先にトリガーされたものから、先にすべての処理を実行するとは限りません。
後からトリガーされたフローの方が、前のフローよりも先に処理が完了する可能性もあります。
そのため例えば、フローの中でSharePointリストや、Excelのデータ取得、データ更新があるフローで、1つずつ処理しないとデータの整合性が取れない場合、フローが同時実行されると意図した動作とならない場合があります。
例として、在庫管理をするフローを思い浮かべてください。
物品の出荷数の入力があると、現在のSharePointリストから在庫数を取得し、出荷数分を減算してデータを更新するとします。
例えば、SharePointリストにで在庫管理をしていたとします。
物品Aの在庫が50あったとき、1つ目で出荷数が10、2つ目で出荷数が20と入力があった場合、物品Aの残りの在庫は50-10-20=20となるはずです。
なるほどですぞ!
例えば1つ目の出荷数と、2つ目の出荷数の入力で、同時にフローが走ると、在庫数が合わなくなるのですな!
フローが同時実行された場合、1つ目の出荷の処理が終わらないうちに、2つ目の出荷の処理が走ると、以下のように最終的な在庫数データの整合性が合わなくなってしまう可能性があります。
上記の例のように、フローを1つずつ処理する必要がある場合、次に説明する同時実行の制御を設定します。
Power Automateの同時実行の制御方法
Power Automateの同時実行の制御は、以下の手順で変更します。
1.Power Automateの編集画面で、トリガーを選択し、「設定」を選択します。
2.「同時実行管理」の「制限」をオンにして、「並列処理の水準」を1にします。
また、「最大待機実行」も適切な値に設定しておきましょう。
最後に
この記事では、Power Automateで同時実行の制御をして、1つずつフローを実行する設定方法を紹介しました。
Power Automateは、デフォルトでは無制限にフローが同時実行される設定となっています。
同時実行しても特に問題ない処理であれば大丈夫ですが、1つずつ処理しないと、データの整合性が合わなくなる場合等は、設定から「同時実行の管理」を変更する必要があります。
フローで実行している処理が、1つずつ処理する必要があるのか確認し、必要に応じて同時実行の制御をしましょう。