Ash*_*sam 2 concurrency azure azure-logic-apps
在逻辑应用程序中,我递归地运行文件夹来获取文件。因此,我有几个“foreach”连接器嵌套在另一个连接器中。外部 foreach 连接器(当并发:关闭或 20 个实例时),它并行运行以通过文件夹运行。但是读取文件的内部 foreach 连接器速度太慢。
对于每个文件,需要 2-5 秒。对于 #2500 个文件,总共花费了 (2500 * 5) 秒。
我已向 Az 支持部门提出案例。他们正在指导以下文档。https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-control-flow-loops#preventions。
提炼:
“Foreach”循环可以处理有限数量的数组项。有关此限制,请参阅并发、循环和分批限制。
默认情况下,“Foreach”循环中的迭代同时或并行运行。此行为不同于 Power Automate 的“应用到每个循环”,其中迭代一次运行一个或按顺序运行。但是,您可以设置顺序“Foreach”循环迭代。例如,如果要使用“Delay”操作暂停“Foreach”循环中的下一次迭代,则需要将循环设置为按顺序运行。
默认行为的例外是嵌套循环,其中迭代始终按顺序运行,而不是并行运行。要对嵌套循环中的项目并行运行操作,请创建并调用子逻辑应用。
我通过将内部 foreach 连接器和代码块移动到其他逻辑应用程序来打破嵌套的 foreach 循环。现在,我们为这两个逻辑应用程序提供了一个普通的 foreach 连接器。
它以惊人的速度和并发性完美地工作。
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |