AWS是否为处于睡眠状态的lambda充电

时间:2017-09-15 15:40:30

标签: amazon-web-services aws-lambda

例如:

count = 0
        while True:
            try:
                if count == 5:
                    break
                snap = ec.create_snapshot(
                    VolumeId=vol_id,
                    Description=instance['InstanceId']
                )
                break
            except Exception as e:
                print(e)
                sleep(180)
                count = count + 1

因此,如果我有很多实例和错误,那么运行lambda可能会很长时间。什么可以替代让Lambda入睡?

2 个答案:

答案 0 :(得分:7)

是的,您仍然需要付费。调用sleep()不会停止执行环境。您需要支付执行环境的持续时间,从调用函数到函数执行完成(或直到达到配置的超时)为止。

答案 1 :(得分:4)

我的假设是肯定的。 AWS Lambda基于三个因素收费

  1. 分配内存以实现功能
  2. 执行次数
  3. 计算持续时间
  4. 如果你看一下持续时间calculated的定义。

      

    持续时间是从代码开始执行的时间开始计算的   它返回或以其他方式终止,向上舍入到最接近的100毫秒。   价格取决于您分配给您的内存量   功能。每使用一秒GB,您需要支付0.00001667美元。

    AWS会计算代码开始执行时的费用,以及返回/终止时的费用。