本文介绍函数在同步调用和异步调用执行失败时,如何进行重试完成函数调用。
重试机制
函数未成功执行的重试机制因调用方式而异。
- 同步调用失败
您需要自行重试。
- 异步调用失败
函数计算会自动重试的情况如下表所示。
执行失败原因 状态码 服务器端行为 是否计费 解决方案 函数计算的错误类型为 HandledInvocationError
和UnhandledInvocationError
。关于函数计算错误类型的更多信息,请参见基础信息。200 默认重试3次,或根据异步设置次数重试。 按照调用次数计费。关于计费的详细信息,请参见计费概述。 请自行排查您的代码。 函数并发执行超上限。 429 以二进制指数退避方式重试执行5小时。当您的函数执行失败后将在0.5秒后开始重试,后续重试执行的时间间隔将以二进制指数退避方式计算,即重试时间间隔为1秒、2秒、4秒、8秒等持续重试5小时。 否 由于阿里云账号(主账号)在单个地域内默认的按量实例上限数为300。如果您需要提高该限制,请加入钉钉用户群(钉钉群号11721331)申请。 系统内部错误。 500 以二进制指数退避方式重试执行5小时。当您的函数执行失败后将在0.5秒后开始重试,后续重试执行的时间间隔将以二进制指数退避方式计算,即重试时间间隔为1秒、2秒、4秒、8秒等持续重试5小时。 否 请加入钉钉用户群(钉钉群号11721331)咨询。 函数计算资源不足。 503 以二进制指数退避方式重试执行5小时。当您的函数执行失败后将在0.5秒后开始重试,后续重试执行的时间间隔将以二进制指数退避方式计算,即重试时间间隔为1秒、2秒、4秒、8秒等持续重试5小时。 否 请加入钉钉用户群(钉钉群号11721331)咨询。
若您在使用过程中遇到问题,请联系我们。