gpt4 book ai didi

python - AWS lambda 与 python asyncio。事件循环关闭问题?

转载 作者:行者123 更新时间:2023-12-04 14:45:37 25 4
gpt4 key购买 nike

关闭 aws lambda 中的事件循环会影响 future 的 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 维护者推荐的。

    关于python - AWS lambda 与 python asyncio。事件循环关闭问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59293415/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com