gpt4 book ai didi

Azure 服务总线 - TTL 与 ScheduledEnqueueTimeUtc

转载 作者:行者123 更新时间:2023-12-02 08:06:50 24 4
gpt4 key购买 nike

队列的 TTL(生存时间)设置为 5 分钟。

当您从 UtcNow 添加 ScheduledEnqueueTimeUtc 为 1 分钟的消息时,消息会在 5 分钟还是 6 分钟后过期?

我的假设是 6,因为我希望一旦消息在队列中处于“事件”状态,TTL“倒计时”就会“开始”,并且在计划的排队时间过去之前消息不会处于事件状态。

如果您将一条消息放入队列 6 分钟,该消息将在 11 分钟后过期。

我的假设正确吗?

最佳答案

你的假设是正确的。消息有几个属性:

ScheduledEnqueueTimeUtc 消息出现的时间由用户代码设置由用户或实体(在您的情况下为队列)设置的消息生存时间 TimeToLiveEnqueuedTimeUtc - 代理收到消息时的只读时间ExpiresAtUtc - 消息过期的计算时间

如果消息在时间 X 入队,队列上的 TTL 为 5 分钟且不低于为单个消息指定的 TTL,则该消息将在 X + 1 时间出现在队列中。 IE。 EnqueuedTimeUtc 将为 X + 1。如果 TimeToLive 为 5 分钟,ExpiresAtUtc 将计算为 X + 1 + 5。

因此,从现在起 (X) 排队 6 分钟的消息,它不会在 X + 11 之前过期。

关于Azure 服务总线 - TTL 与 ScheduledEnqueueTimeUtc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39736229/

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