关闭 aws lambda 中的事件循环会影响未来的 lambda 运行吗?
-
我有一些 aysncio python 代码在 aws lambda 服务中运行。代码逻辑如下
def lambda_handler(event,context):
loop = asyncio.get_event_loop()
# perform all operations with the loop
loop.close()
return results
如果我运行一次,它看起来工作正常。但是,如果我之后立即重新运行它,我会收到一条错误消息事件循环关闭
- 为什么会发生这种情况?每个 lambda 运行不应该独立于最后一个吗?毕竟 lambda 应该是无国籍的
Python 3.7+
您可以使用更高级别的asyncio.run()
那会处理好事情的。
def handler(event, context):
asyncio.run(main())
async def main():
# your async code here
这将在最后关闭循环,并在再次运行 lambda 时打开一个新循环。.run()
asyncio 维护者也推荐。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)