我有一个带有 Until 操作的逻辑应用程序,用于保持循环直到满足条件(在本例中,当 Azure 容器实例的状态为“已终止”时)。我已将限制“计数”更改为 600。我将“超时”保留为默认值 (PT1H)。在其他操作中,“直到”操作包含一个“延迟”操作,我将其设置为 1 秒。所以理论上数学是:600 x 1 秒 = 最多 10 分钟。正确的?我在下午晚些时候触发了逻辑应用程序并回家了。回到家查看运行情况,发现跑了26分钟!看截图:
那么,谁能解释一下吗?预先感谢您的回复。
更新#1:针对每个信息 Until 内的 For Each 循环遍历组中的容器(只有 1 个容器),并将容器的状态放入变量中(用于 Until 的条件)。就是这样。
更新 #2:所有操作逻辑应用 逻辑应用程序的所有操作:
注意:对于敏锐的人来说,我确实还没有删除容器组。用于调试目的。
更新#3:初始化变量信息
注意:此“状态”是容器组的状态,仅用于初始填充变量。在 Until 循环中,它填充了组内容器实例的状态。
注意:在聊天中询问。
最佳答案
对于您的问题,您需要知道,当创建容器组的操作完成时,容器组可能不会处于终止状态,但操作已完成,因此状态将持续存在并且不再改变。
所以你需要在循环中始终获取状态。容器组的正确顺序应该是这样的:
- 创建容器组;
- 初始化变量
currentState
; - 创建循环,您的until设置条件是正确的,但是您需要将获取容器组属性的操作放在for-each循环中。因此,在 for-each 中,获取属性,设置变量的状态,然后延迟。
关于azure - 逻辑应用程序的 Until 循环限制到底如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60402339/