Amazon web services 为什么建议队列可见性超时为函数超时加批处理窗口的六倍?
从 将队列可见性超时设置为函数超时的6倍,再加上Amazon web services 为什么建议队列可见性超时为函数超时加批处理窗口的六倍?,amazon-web-services,aws-lambda,amazon-sqs,Amazon Web Services,Aws Lambda,Amazon Sqs,从 将队列可见性超时设置为函数超时的6倍,再加上MaximumBatchingWindowInSeconds 为什么队列可见性超时不能等于函数超时?假设函数的超时时间为30秒,队列可见性也是如此。函数拾取消息并经过30秒,消息未被删除,现在其他函数/使用者可以看到该消息。那为什么必须是6次呢?最大批处理窗口在队列可视性超时中扮演什么角色 那为什么必须是6次呢 解释见下一句: 如果在函数处理前一批时,函数执行被限制,则额外时间允许Lambda重试 这只是一个建议。你不必跟着。我知道这是为了额外的时
MaximumBatchingWindowInSeconds
为什么队列可见性超时不能等于函数超时?假设函数的超时时间为30秒,队列可见性也是如此。函数拾取消息并经过30秒,消息未被删除,现在其他函数/使用者可以看到该消息。那为什么必须是6次呢?最大批处理窗口在队列可视性超时中扮演什么角色
那为什么必须是6次呢
解释见下一句:
如果在函数处理前一批时,函数执行被限制,则额外时间允许Lambda重试
这只是一个建议。你不必跟着。我知道这是为了额外的时间。为什么额外的时间一定要那么多?我知道我不必遵循它的权利?只是想知道他们的建议背后的原因。@psyud我没有任何数学公式。这是AWS认为的“重击规则”。在SQS批处理中,您可以一次获得10条消息,这些消息通常在lambda中的一个循环中处理。如果一条消息需要10秒处理,那么最后一条消息必须等待100秒。当lambda失败时,再加上一些重试时间,您可能会得到比lambda执行时间更长的可见性时间。