【问题标题】:Why Azure Queue messages live for less than a few seconds?为什么 Azure Queue 消息的存活时间少于几秒钟?
【发布时间】:2019-01-24 06:02:48
【问题描述】:

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

【问题讨论】:

  • 网络作业是否立即开始处理消息?它的工作方式是,当它开始处理时,消息会从队列中隐藏一段时间,然后如果处理未按时完成或失败,则会再次可见。

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


【解决方案1】:

消息消失,因为它已被您的 Web 作业使用。 保留延迟意味着您有 X 天的时间来使用该消息(在您的情况下为 7 天)。延迟到期后,消息会自动删除。

如果您希望消息有多个使用者,而不是队列,您可以将服务总线与订阅或主题一起使用,或者将事件中心与使用者组一起使用。

【讨论】:

【解决方案2】:

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

如果在 peek lock 模式下接收消息,则不会从队列中删除消息。

在您的情况下,由于消息由网络作业处理,因此队列中不可用。

消息还具有默认的time to live属性,可以设置该属性之后消息将被移动到同一消息实体(队列或主题订阅)的死信路径。给定持续时间后的消息及时到在预定的 enwueued 时间之后直播 utc 将被移动到死信路径,死信原因 TTLExpiration

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 2016-06-25
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 2017-04-17
    相关资源
    最近更新 更多