如何在天蓝色服务总线队列中设置无限制的消息时间?

时间:2016-07-27 10:28:20

标签: azure servicebus azure-queues

我正在尝试使用azure-sdk-for-node创建azure服务总线队列,但是无法找到资源来设置无限制生存时间。

以下是我的示例代码:

var queueOptions = {       MaxSizeInMegabytes:'5120',       DefaultMessageTimeToLive:'PT1M'     };

serviceBusService.createQueueIfNotExists('myqueue',queueOptions,function(error){     如果(!错误){         //队列存在     } });

DefaultMessageTimeToLive在无限时间内会有什么?

1 个答案:

答案 0 :(得分:5)

您的代码仅将消息TTL设置为1分钟。 您不能将TTL设置为无限制,因为它需要TimeSpan值,因此您必须指定一些内容。它可能是一个相当大的价值,但我建议避免这种做法有几个原因:

  1. 这是托管服务。 TTL今天不受限制,但可能是。
  2. 对于消息传递,拥有一个非常长的TTL表示不应该做的事情(消息应该很小并且处理得很快)。
  3. 说到今天,你可以将TTL设置为TimeSpan.MaxValue,这是

    • 10675199天
    • 2小时
    • 48分钟
    • 5秒
    • 477毫秒

    或iso8601格式为P10675199DT2H48M5.4775807S

    实际上,365天(P365D)甚至30天(P30D)对于消息传递来说太过分了。