如何在天蓝色存储队列中将毒队列消息过期期更改为最大值,当前默认过期时间为7天。
发布于 2018-05-21 09:22:48
AFAIK,Azure队列消息的最大允许过期时间为7天,这也是默认值。
毒队列也是一个名为{original-queue-name}-poison的普通队列。例如,如果Azure Webjobs SDK处理超过最大尝试次数的队列消息,则相关消息将被移动到有害队列中,此过程由SDK处理。
根据我的理解,您需要显式地处理有害消息,而不是永久地将消息存储到毒队列中。您可以跟踪如何处理有害消息的详细信息。此外,您还可以选择其他消息队列服务来满足您的需求。
更新:
与changelog.txt有关9.0.0中的更改:
队列:在队列消息上添加了对无限TTL的支持。
可以在添加队列消息时指定timeToLive参数,如下所示:
queue.AddMessage(new CloudQueueMessage($"hello world-{DateTime.UtcNow}"),timeToLive:TimeSpan.MaxValue);根据您的需求,您可以使用手动your消息处理方法来检查dequeueCount,并以编程方式将当前队列消息显式地添加到毒队列中。
注意:默认情况下,在将队列消息发送到有害队列之前,重试的最大次数为5,您可以通过config.Queues.MaxDequeueCount对其进行更改。
或者,您只需利用自动毒药消息处理,就可以触发相关的毒队列,并使用无限的TTL将队列消息添加到自定义的毒队列中。
https://stackoverflow.com/questions/50303298
复制相似问题