为什么Azure队列消息的生存时间少于几秒钟?

时间:2018-08-17 08:25:36

标签: azure azure-storage azure-webjobs azure-queues azure-webjobs-continuous

在Azure(或从VS)上,用于在队列内创建新消息的对话框显示该消息将在7天后过期,但在不到几秒钟的时间内消失了。为什么? (我创建了this article中所述的连续运行的WebJob)

2 个答案:

答案 0 :(得分:1)

该消息消失了,因为它已被您的Web作业消耗。 保留延迟表示您有X天的时间来消费邮件(在您的情况下为7天)。延迟到期后,该消息将自动删除。

如果您希望消息使用多个使用者,而不是队列,则可以将Service Bus与订阅或主题一起使用,将Event Hub与使用者组一起使用。

答案 1 :(得分:0)

消息将保留在服务总线队列或主题订阅中,直到它们被处理,即接收方以接收和删除模式接收到消息为止。

如果消息是在窥视锁定模式下接收的,则不会从队列中删除消息。

在您的情况下,由于消息是由Webjob处理的,因此在队列中不可用。

消息还具有默认的time to live属性,可以设置此属性,之后将消息移动到同一消息传递实体(队列或主题订阅)的死信路径。计划的到期时间之后的生存时间utc将移动到具有死信原因TTLExpiration的死信路径中