无法弄清楚 Lambda 重试
Cant figure out Lambda retries
出于某种原因,我根本无法在我的 lambda 函数中复制文档中所述的重试功能。我将最大事件年龄设置为 1 分钟,并将最大重试次数设置为 2。然而,当执行如下所示的简单 lambda 函数时:
if(StringUtils.contains("ERROR_MESSAGE", payload)){
throw new RuntimeException("Example error message");
}
它重试了很多次。也许超过50次。有没有办法模仿重试功能?为什么重试这么多次?
此外,
使用状态机(步进函数)重试时,它的工作方式是否与使用正常重试相同?如果我的lambda是由某个事件源触发的,例如MSK,如果lambda函数失败或抛出异常,是否会按照Step Function中指定的重试场景?
谢谢马克!
docs.aws.amazon.com/lambda/latest/dg/with-msk.html "Lambda 按顺序读取每个分区的消息。Lambda 处理每个批次后,它会提交该批次中消息的偏移量。如果您的函数 returns 批处理中任何消息的错误,Lambda 会重试整批消息,直到处理成功或消息过期。"
出于某种原因,我根本无法在我的 lambda 函数中复制文档中所述的重试功能。我将最大事件年龄设置为 1 分钟,并将最大重试次数设置为 2。然而,当执行如下所示的简单 lambda 函数时:
if(StringUtils.contains("ERROR_MESSAGE", payload)){
throw new RuntimeException("Example error message");
}
它重试了很多次。也许超过50次。有没有办法模仿重试功能?为什么重试这么多次?
此外, 使用状态机(步进函数)重试时,它的工作方式是否与使用正常重试相同?如果我的lambda是由某个事件源触发的,例如MSK,如果lambda函数失败或抛出异常,是否会按照Step Function中指定的重试场景?
谢谢马克!
docs.aws.amazon.com/lambda/latest/dg/with-msk.html "Lambda 按顺序读取每个分区的消息。Lambda 处理每个批次后,它会提交该批次中消息的偏移量。如果您的函数 returns 批处理中任何消息的错误,Lambda 会重试整批消息,直到处理成功或消息过期。"