队列设置TTL(生存时间)为5分钟。Azure服务总线 - 带ScheduledEnqueueTimeUtc的TTL
当您从UtcNow中添加1分钟的ScheduledEnqueueTimeUtc消息时,消息是否会在5分钟或6分钟内过期?
我的假设是6,因为一旦消息在队列中处于“活动”状态,并且消息在预定排队时间过去之前不活动,我认为TTL'倒计时'为'开始'。
然后,如果您排队6分钟的消息,它将在11分钟后过期。
我的假设是否正确?
队列设置TTL(生存时间)为5分钟。Azure服务总线 - 带ScheduledEnqueueTimeUtc的TTL
当您从UtcNow中添加1分钟的ScheduledEnqueueTimeUtc消息时,消息是否会在5分钟或6分钟内过期?
我的假设是6,因为一旦消息在队列中处于“活动”状态,并且消息在预定排队时间过去之前不活动,我认为TTL'倒计时'为'开始'。
然后,如果您排队6分钟的消息,它将在11分钟后过期。
我的假设是否正确?
你的假设是正确的。有一个消息的几个属性:
ScheduledEnqueueTimeUtc
时间消息出现用户代码设置 TimeToLive
时间消息,生活在被用户或实体设置(在你的情况下,队列) EnqueuedTimeUtc
- 阅读当由代理接收到的消息-only时间 ExpiresAtUtc
- 计算出的时间时消息将到期
如果消息在时间X烯排队,队列上的TTL是5分钟,并且对于各个消息中指定不低TTL,那么该消息将在X + 1时间出现在队列中。即EnqueuedTimeUtc
将X + 1. TimeToLive
5分钟,将ExpiresAtUtc
如下计算X + 1 + 5
因此一个消息烯排队6分钟从现在(X),它不会到期之前X + 11 。