Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 为什么建议队列可见性超时为函数超时加批处理窗口的六倍?_Amazon Web Services_Aws Lambda_Amazon Sqs - Fatal编程技术网

Amazon web services 为什么建议队列可见性超时为函数超时加批处理窗口的六倍?

Amazon web services 为什么建议队列可见性超时为函数超时加批处理窗口的六倍?,amazon-web-services,aws-lambda,amazon-sqs,Amazon Web Services,Aws Lambda,Amazon Sqs,从 将队列可见性超时设置为函数超时的6倍,再加上MaximumBatchingWindowInSeconds 为什么队列可见性超时不能等于函数超时?假设函数的超时时间为30秒,队列可见性也是如此。函数拾取消息并经过30秒,消息未被删除,现在其他函数/使用者可以看到该消息。那为什么必须是6次呢?最大批处理窗口在队列可视性超时中扮演什么角色 那为什么必须是6次呢 解释见下一句: 如果在函数处理前一批时,函数执行被限制,则额外时间允许Lambda重试 这只是一个建议。你不必跟着。我知道这是为了额外的时

将队列可见性超时设置为函数超时的6倍,再加上
MaximumBatchingWindowInSeconds

为什么队列可见性超时不能等于函数超时?假设函数的超时时间为30秒,队列可见性也是如此。函数拾取消息并经过30秒,消息未被删除,现在其他函数/使用者可以看到该消息。那为什么必须是6次呢?最大批处理窗口在队列可视性超时中扮演什么角色

那为什么必须是6次呢

解释见下一句:

如果在函数处理前一批时,函数执行被限制,则额外时间允许Lambda重试


这只是一个建议。你不必跟着。

我知道这是为了额外的时间。为什么额外的时间一定要那么多?我知道我不必遵循它的权利?只是想知道他们的建议背后的原因。@psyud我没有任何数学公式。这是AWS认为的“重击规则”。在SQS批处理中,您可以一次获得10条消息,这些消息通常在lambda中的一个循环中处理。如果一条消息需要10秒处理,那么最后一条消息必须等待100秒。当lambda失败时,再加上一些重试时间,您可能会得到比lambda执行时间更长的可见性时间。