Asyncio RuntimeError:事件循环已关闭烧瓶应用程序

时间:2019-08-15 23:30:37

标签: python-3.6 gunicorn python-asyncio

我在gunicorn Web服务器上托管了一个flask应用程序,并试图并行化长时间运行的I / O绑定任务“ somemethod”,如下所示。但是,有时(并非总是)它会引发错误“事件循环已关闭”。错误是随机发生的原因是什么?

删除loop.close()可以修复错误,但是我不确定python worker进程中是否存在内存泄漏。

async def somemethod():
    """ Do some work """


app.route('/hello', method=['POST'])
def sayhello():
   loop = asyncio.new_event_loop()
   try:
          asyncio.set_event_loop(loop)
          future = asyncio.ensure_future(somemethod)
          loop.run_until_complete(future)
    finally:
          loop.close()

0 个答案:

没有答案