错误处理

本文介绍函数在同步调用和异步调用执行失败时,如何进行重试完成函数调用。

重试机制

函数未成功执行的重试机制因调用方式而异。

  • 同步调用失败

    您需要自行重试。

  • 异步调用失败

    函数计算会自动重试的情况如下表所示。

    执行失败原因

    状态码

    服务器端行为

    是否计费

    解决方案

    函数计算的错误类型为HandledInvocationErrorUnhandledInvocationError。关于函数计算错误类型的更多信息,请参见基础信息

    200

    默认重试3次,或根据异步设置次数重试。

    按照调用次数计费。关于计费的详细信息,请参见计费概述

    请自行排查您的代码。

    函数并发执行超上限。

    429

    以二进制指数退避方式重试执行5小时。当您的函数执行失败后将在0.5秒后开始重试,后续重试执行的时间间隔将以二进制指数退避方式计算,即重试时间间隔为1秒、2秒、4秒、8秒等持续重试5小时。

    单个阿里云账号(主账号)在单个地域内总实例数默认限制为100,实际数值以配额中心为准,如果您需要提高该限制,请前往配额中心申请。

    系统内部错误。

    500

    以二进制指数退避方式重试执行5小时。当您的函数执行失败后将在0.5秒后开始重试,后续重试执行的时间间隔将以二进制指数退避方式计算,即重试时间间隔为1秒、2秒、4秒、8秒等持续重试5小时。

    请加入钉钉用户群(钉钉群号64970014484)咨询。

    函数计算资源不足。

    503

    以二进制指数退避方式重试执行5小时。当您的函数执行失败后将在0.5秒后开始重试,后续重试执行的时间间隔将以二进制指数退避方式计算,即重试时间间隔为1秒、2秒、4秒、8秒等持续重试5小时。

    请加入钉钉用户群(钉钉群号64970014484)咨询。

若您在使用过程中遇到问题,请联系我们