Python AWS Lambda:手动生命周期管理-我不希望在处理程序中的“返回”后终止
我的处理程序python函数在新线程中调用另一个python函数,并在下一行返回结果-如下所示:Python AWS Lambda:手动生命周期管理-我不希望在处理程序中的“返回”后终止,python,python-3.x,amazon-web-services,aws-lambda,python-multithreading,Python,Python 3.x,Amazon Web Services,Aws Lambda,Python Multithreading,我的处理程序python函数在新线程中调用另一个python函数,并在下一行返回结果-如下所示: def aws_lambda_handler(event, context): threading.Thread(target=my_second_python_function).start() # thread for return without waiting return True # this terminate Lambda with my second thread
def aws_lambda_handler(event, context):
threading.Thread(target=my_second_python_function).start()
# thread for return without waiting
return True # this terminate Lambda with my second thread in process
对于客户端和速度,我已经有了结果,现在我想返回它,而不必等待几秒钟来完成第二个python函数。但是我发现AWS Lambda在处理程序中return
后几毫秒终止
我可以将我的第二个python函数提取到新的Lambda中,并在return
之前调用它,但我认为这在金钱和时间上会稍微贵一些
在处理程序中
return
之后,是否存在某种不关闭Lambda的方法?我尝试了longtimeout
,但这当然不是这种情况。可能使用yield True
并且只在线程执行完成时使用return
?@bluesummers有趣的想法,我尝试过-但是Lambda只能返回json可序列化的东西,所以我得到的不是json可序列化的
有意义,有趣的问题,如果你找到了解决方案,请张贴出来