gpt4 book ai didi

azure-webjobs - Azure 存储队列和多个 WebJobs 实例 : will QueueTrigger set the message lease time on triggered?

转载 作者:行者123 更新时间:2023-12-04 23:44:30 24 4
gpt4 key购买 nike

场景:生产者发送消息到存储队列,一个WebJobs在QueueTrigger上处理消息,每条消息只能处理一次,可以有多个WebJob实例。

我一直在谷歌搜索,从我读过的内容来看,我需要编写处理消息的函数,使其具有幂等性,因此消息不会被处理两次。我还读到消息的默认租用时间为 10 分钟。

我的问题是,当在一个 WebJob 实例上触发 QueueTrigger 时,它是否设置了消息的租用时间,以便另一个 WebJob 无法获取相同的消息?如果是这样,为什么我需要考虑消息可以被处理两次的可能性?还是我误解了这一点?

最佳答案

如果您使用内置队列触发器属性,它会自动确保任何给定的消息都得到处理一次,即使站点扩展到多个实例也是如此。这是在讨论部分的文章中发布的,https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-get-started/

在同一篇文章中,您将找到有关 10 分钟租约的说明。总之,QueueTrigger 属性指示 WebJobs SDK 在队列中接收到新消息时调用方法。消息被处理,当方法完成时,队列消息被删除。如果该方法在完成之前失败,则不会删除队列消息;在 10 分钟的租约到期后,消息被释放以再次被拾取和处理。如果消息总是导致异常,则不会无限期地重复此序列。在尝试处理消息 5 次失败后,该消息将移至毒害队列。最大尝试次数是可配置的。

关于azure-webjobs - Azure 存储队列和多个 WebJobs 实例 : will QueueTrigger set the message lease time on triggered?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31862225/

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