【发布时间】:2021-12-30 01:25:26
【问题描述】:
我遇到了一个问题,我触发了由 Azure Function Service Bus Trigger 处理的事件。
运行的触发器最多可以运行一个小时,这很好,但我发现 5 分钟后消息会重新添加到队列中,因此会重复处理。
我可以通过更改 MaxDeliveryCount 确保此特定主题仅读取一次消息来解决此问题,但理想情况下,我希望锁的到期时间比函数长(最多 1 小时)。
根据 Microsoft 文档,它应该已经这样做了,但是当它重新排队消息时我仍然遇到问题。
函数运行时在 PeekLock 模式下接收消息。如果函数成功完成,它会在消息上调用 Complete,如果函数失败,它会调用 Abandon。如果函数运行时间超过 PeekLock 超时时间,只要函数运行,锁就会自动更新。
有什么想法吗?
【问题讨论】:
标签: c# azure azureservicebus azure-servicebus-topics azure-servicebus-subscriptions