【问题标题】:AWS, SQS, calculate visabilityTimeout for 10 messagesAWS,SQS,计算 10 条消息的 visabilityTimeout
【发布时间】:2019-04-13 10:25:19
【问题描述】:

我有代码:

val messageRequest = new ReceiveMessageRequest().withQueueUrl(queueUrl).withVisibilityTimeout(8000).withMaxNumberOfMessages(10)
val messages = sqs.receiveMessage(messageRequest).getMessages.asScala

我的 lambda 最多可以工作 13 分 33 秒(它是 800 秒)

我一次从 SQS 接收 10 条消息

我想正确计算 VisibilityTimeout

我用公式:

“lambda 超时”(800 秒)* MaxNumberOfMessages (10) = 8000 秒

每条消息 800 秒

1.我是否正确计算了 VisibilityTimeout?

2。 VisibilityTimeout 更改会影响计费吗?

【问题讨论】:

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


    【解决方案1】:

    可见性超时是SQS 将消息不可见传递给一个消费者后对任何消费者保持多长时间,等待该消费者处理并删除它。如果消息一经传递,在允许的窗口内接收到消息的消费者没有从队列中删除,则该消息将再次变为可见,并在可见性超时到期时再次传递。

    在您描述的场景中,正确的值仍然是 800,因为可见性超时适用于每条消息,单独,但同时开始并同时运行。您的代码将在 800 秒后终止,并且在该时间过后,消息需要再次变得可见。如果设置为 8000 秒,如果您的代码在 800 秒后终止,那么在超时到期之前,所有消息都将在 7200 秒内保持不可见。

    可见性超时对计费没有直接影响。

    【讨论】:

    • 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2022-11-10
    • 2023-02-10
    • 2018-02-11
    相关资源
    最近更新 更多