所以我有一个 azure 函数充当调用内部托管 API 的队列触发器。
关于如何处理由于有毒以外的问题而无法处理的消息,网上似乎没有明确的答案。
一个例子:
收到我的消息并且该函数尝试调用 API。消息有效负载是正确的,并且可以处理,但是无论出于何种原因,API/服务都已关闭(此时间可能超过 10 分钟)。目前发生的情况是消息传递计数达到其最大值(10),然后被推送到死信队列,这反过来又发生在每条消息之后。
我需要一种方法来不增加交付计数或在达到最大值时将其重置。或者,我可以在不增加传递计数的情况下放弃对消息的 peek 锁定,因为我想停止处理队列中的任何消息,直到 API/服务重新启动并运行。这样,我将确保所有可以处理的消息都不会因为服务之间的连接问题而陷入死信。
关于如何实现这一目标的任何想法?