簡體   English   中英

邏輯應用程序中的嵌套 foreach 循環不應用並發控制設置

[英]Nested foreach loop in Logic Apps does not apply concurrency control setting

在邏輯應用程序中,我遞歸地運行文件夾以獲取文件。 因此,我將幾個“foreach”連接器嵌套在另一個連接器中。 外部 foreach 連接器(當它是 concurrency:off 或 20 個實例時),它並行運行以通過文件夾運行。 但是正在讀取文件的內部 foreach 連接器太慢了。

對於每個文件,需要 2-5 秒。 對於 #2500 個文件,總共花費了 (2500 * 5) 秒。

我已經向 Az Support 提出了一個案例。 他們正在指導以下文檔。 https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-control-flow-loops#prerequisites

提煉:

“Foreach”循環可以處理有限數量的數組項。 對於此限制,請參閱並發、循環和分批限制。

默認情況下,“Foreach”循環中的迭代同時或並行運行。 此行為不同於 Power Automate 的 Apply to each loop,其中迭代一次運行一個或按順序運行。 但是,您可以設置連續的“Foreach”循環迭代。 例如,如果要使用 Delay 操作暫停“Foreach”循環中的下一次迭代,則需要將循環設置為按順序運行。

默認行為的例外是嵌套循環,其中迭代始終按順序運行,而不是並行運行。 要為嵌套循環中的項並行運行操作,請創建並調用子邏輯應用。

我通過將內部 foreach 連接器和代碼塊移動到其他邏輯應用程序來打破嵌套的 foreach 循環。 現在,我們有一個用於兩個邏輯應用程序的普通 foreach 連接器。

它以驚人的速度完美地並發運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM