gpt4 book ai didi

azure - 使用逻辑应用进行 ServiceBus 死信队列清理

转载 作者:行者123 更新时间:2023-12-03 03:48:48 24 4
gpt4 key购买 nike

我们希望使用 Azure 逻辑应用定期清理 ServiceBus DeadLetter 队列。这个想法是每天循环一次所有死信消息并删除超过 x 天的消息。

我通过“从队列获取消息(查看锁定)”实现了定期“重复”任务。当它们满足我的条件时,它们就完成了,因此从队列中删除。这适用于数百条消息。但是,当我用数千条消息对此进行测试时,它开始返回当前运行期间已访问的消息。我添加了一个条件,如果再次处理相同的 messageId,则终止处理。

有办法实现我们想要的吗?那么要循环遍历所有消息,删除一些消息并保留其他消息而不重复访问其中任何一个消息吗?

这是流程的简化方案。

enter image description here

最佳答案

我认为问题在于您的 For Each 需要并发控制。 Get Messages 操作将从队列中返回 X 条消息(默认情况下为 20 条),然后 For Each 操作并行运行,并且这些操作(在 For Each 内部)不会等待所有操作完成,然后就会退出该循环并继续执行再次使用“Do Until”。我将测试更改“For Each 设置/并发控制”(右侧省略号)并将“并行度”降低到一个较低的数字。

关于azure - 使用逻辑应用进行 ServiceBus 死信队列清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67837888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com