【问题标题】:How the function changeMessageVisibility of sqs message extends the visibility time?sqs消息的changeMes​​sageVisibility函数如何延长可见时间?
【发布时间】:2019-04-25 10:01:11
【问题描述】:

在其 ChangeMes​​sageVisibility 函数的文档中,亚马逊给出了以下示例:

例如,您有一条可见性超时为 5 的消息 分钟。 3 分钟后,您调用 ChangeMes​​sageVisibility 超时 10 分钟。你可以继续打电话 ChangeMes​​sageVisibility 将可见性超时延长到 最大允许时间。如果您尝试延长可见性超时 超过最大值,您的请求将被拒绝。

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html

https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-sqs-visibility-timeout.html

所以,在我将 msg 的可见时间更改为 10 分钟后, 还剩 10 分钟、12 分钟还是 8 分钟?

【问题讨论】:

    标签: java amazon-web-services amazon-sqs


    【解决方案1】:

    消息还剩 10 分钟。 ChangeMessageVisibility 设置计时器到一个新值,从它开始倒计时。

    文档将这个问题与提到的 5 分钟和 3 分钟混淆了。重点似乎是需要在计时器到期之前进行调用,否则为时已​​晚,因为消息已经再次可见,并且可能已经传递给另一个消费者。

    【讨论】:

    • 嘿,我知道你在 2 年前回答过这个问题,但如果你还记得:它们是指最大可见性超时 12 小时以及自收到消息并延长其可见性超时以来经过的时间,还是它总是 12 小时?
    【解决方案2】:

    表示从消息接收到的时间过去+可见性超时参数值不能超过43200,详见此处 https://medium.com/@Peiti_Li/understanding-aws-sqs-visibility-timeout-abeb5dec4497

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      • 2017-09-20
      相关资源
      最近更新 更多