2016-09-28 69 views
1

隊列設置TTL(生存時間)爲5分鐘。Azure服務總線 - 帶ScheduledEnqueueTimeUtc的TTL

當您從UtcNow中添加1分鐘的ScheduledEnqueueTimeUtc消息時,消息是否會在5分鐘或6分鐘內過期?

我的假設是6,因爲一旦消息在隊列中處於「活動」狀態,並且消息在預定排隊時間過去之前不活動,我認爲TTL'倒計時'爲'開始'。

然後,如果您排隊6分鐘的消息,它將在11分鐘後過期。

我的假設是否正確?

回答

2

你的假設是正確的。有一個消息的幾個屬性:

ScheduledEnqueueTimeUtc時間消息出現用戶代碼設置 TimeToLive時間消息,生活在被用戶或實體設置(在你的情況下,隊列) EnqueuedTimeUtc - 閱讀當由代理接收到的消息-only時間 ExpiresAtUtc - 計算出的時間時消息將到期

如果消息在時間X烯排隊,隊列上的TTL是5分鐘,並且對於各個消息中指定不低TTL,那麼該消息將在X + 1時間出現在隊列中。即EnqueuedTimeUtc將X + 1. TimeToLive 5分鐘,將ExpiresAtUtc如下計算X + 1 + 5

因此一個消息烯排隊6分鐘從現在(X),它不會到期之前X + 11 。