sqs消息的changeMes​​sageVisibility函数如何延长可见时间?

nir*_*kov 1 java amazon-sqs amazon-web-services

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

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

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMes​​sageVisibility.html

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

那么,在我将 msg 的可见性时间更改为 10 分钟后,还剩 10 分钟、12 分钟或 8 分钟吗?

Mic*_*bot 5

留言还有 10 分钟。ChangeMessageVisibility 计时器设置为一个新值,从该值开始倒计时。

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