我正在构建一个 SMTP 服务器,并aiosmtpd使用这些示例作为构建的基础。下面是程序入口点的代码片段。
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.create_task(amain(loop=loop))
try:
loop.run_forever()
except KeyboardInterrupt:
pass
Run Code Online (Sandbox Code Playgroud)
当我运行该程序时,我收到以下警告:
server.py:61: DeprecationWarning: There is no current event loop
loop = asyncio.get_event_loop()
Run Code Online (Sandbox Code Playgroud)
实现这个的正确方法是什么?
我有一些 aysncio python 代码在 aws lambda 服务中运行。代码逻辑如下
def lambda_handler(event,context):
loop = asyncio.get_event_loop()
# perform all operations with the loop
loop.close()
return results
Run Code Online (Sandbox Code Playgroud)如果我运行一次,它看起来工作正常。但是,如果我之后立即重新运行它,我会收到一条错误消息,指出事件循环已关闭