2016-09-28 13 views
1

キューは、TTL(生存時間)が5分に設定されています。Azureサービスバス - TTL with ScheduledEnqueueTimeUtc

UtcNowからScheduledEnqueueTimeUtcが1分のメッセージを追加すると、メッセージは5分または6分で有効期限が切れますか?

私は、メッセージがキュー内で「アクティブ」で、スケジュールされたエンキュー時間が過ぎるまでメッセージがアクティブでないと、TTLのカウントダウンが「開始」すると予想しているため、私の想定は6です。

メッセージを6分間エンキューすると、11分後にメッセージがエンキューされます。

私の前提は正しいですか?

答えて

2

あなたの仮定は正しいです。メッセージのプロパティがいくつかあります:(あなたのケースではキュー)ユーザーコードによってユーザーまたはエンティティのいずれかによって設定された生きるためのメッセージの TimeToLive時間を設定し表示されるメッセージの

ScheduledEnqueueTimeUtc時間 EnqueuedTimeUtc - 読みますメッセージブローカによって受信されたのみの時間 ExpiresAtUtc - メッセージが時間Xでエンキューイングされている場合、メッセージが

が期限切れとなる時間、キュー上のTTLが5分であり、個々のメッセージのために指定されていない低級TTLを算出し、メッセージはX + 1の時点でキューに表示されます。私。 EnqueuedTimeUtcTimeToLive 5分X + 1になり、ExpiresAtUtcは今から6分(X)にキューイングエンX + 1 + 5

ためのメッセージとして計算され、それがX + 11の前に期限切れになりません。

関連する問題