Python Lambda未正确实现休眠函数
我在lambda函数中使用sleep,使其睡眠4分钟Python Lambda未正确实现休眠函数,python,python-3.x,aws-lambda,Python,Python 3.x,Aws Lambda,我在lambda函数中使用sleep,使其睡眠4分钟 import time def lambda_handler(event, context): print("hi") time.sleep(240) print("bye") return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') } 明白了吗 调用调用API操作失败,并显示以下消息:
import time
def lambda_handler(event, context):
print("hi")
time.sleep(240)
print("bye")
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
明白了吗
调用调用API操作失败,并显示以下消息:网络错误
但是lambda的执行在1秒之内就完成了,有什么具体原因吗
我知道在lambda中使用sleep不是最佳实践,但我有一个特殊要求当从lambda调用函数时,必须指定其参数。你的函数有两个参数。考虑对迭代A的输入进行迭代,并调用lambda:每个参数集。
import time
import json
def lambda_handler(event, context):
print("hi")
time.sleep(3)
print("bye")
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
a = [('contxt1', 'evt1'), (('contxt2', 'evt2'))]
b = list(map(lambda x: lambda_handler(x[0], x[1]), a))
print(b)
从Lambda调用函数时,必须指定其参数。你的函数有两个参数。考虑对迭代A的输入进行迭代,并调用lambda:每个参数集。
import time
import json
def lambda_handler(event, context):
print("hi")
time.sleep(3)
print("bye")
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
a = [('contxt1', 'evt1'), (('contxt2', 'evt2'))]
b = list(map(lambda x: lambda_handler(x[0], x[1]), a))
print(b)
Lambda的默认超时为3秒。要更新,请转到Lambda控制台并选择您的Lambda。然后向下滚动一点到“基本设置”。选择: 并根据需要进行更新。你可能想给它4分钟多一点 如果您使用的是aws cli,则可以运行以下操作:
aws lambda更新函数配置——函数名函数名——超时240
将Lambda函数functionName更改为240秒超时。Lambda的默认超时为3秒。要更新,请转到Lambda控制台并选择您的Lambda。然后向下滚动一点到“基本设置”。选择: 并根据需要进行更新。你可能想给它4分钟多一点 如果您使用的是aws cli,则可以运行以下操作:
aws lambda更新函数配置——函数名函数名——超时240
将Lambda函数functionName更改为240秒超时。能否提供Lambda函数的完整代码?无法共享完整代码,但已更新代码段?能否提供Lambda函数的完整代码?无法共享完整代码,但已更新代码段三秒钟?工作正常,但是当你缩放它3分钟或4分钟时,它给了我---调用调用API操作失败的消息:网络错误你是通过web API调用它的吗?然后,您的连接将超时,您应该查看诸如redis或flask executor之类的后台工作人员。这是一个不同的问题,您可以查看这个简单的轻用例绑定不,不通过任何api调用,它只是一个基于aws s3事件的触发器,它将触发aws粘合作业,如果您在控制台上运行它,它将正常工作。您在案例中看到的问题是由于网络调用。状态代码和主体显示s3触发器在内部执行的是HTTP调用。这是一个完全不同的问题。更多关于保持有效和超时的阅读。如果你能控制这个值,我建议你用它试验三秒,它工作得很好,但是当你缩放它3分钟或4分钟时,它给了我---调用调用API操作失败,并显示以下消息:网络错误你是通过web API调用它吗?然后,您的连接将超时,您应该查看诸如redis或flask executor之类的后台工作人员。这是一个不同的问题,您可以查看这个简单的轻用例绑定不,不通过任何api调用,它只是一个基于aws s3事件的触发器,它将触发aws粘合作业,如果您在控制台上运行它,它将正常工作。您在案例中看到的问题是由于网络调用。状态代码和主体显示s3触发器在内部执行的是HTTP调用。这是一个完全不同的问题。更多关于保持有效和超时的阅读。如果你能控制这个值,我建议你用它做实验我把它更新到10分钟,仍然得到同样的错误我把它更新到10分钟,仍然得到同样的错误