【发布时间】:2018-02-25 02:39:36
【问题描述】:
您好,我对 Python 还很陌生,我正在尝试将我在 Flask 上的现有应用程序转换为应该构建在 asyncio 之上的 Quart (https://gitlab.com/pgjones/quart),因此我可以使用 Goblin OGM 与 JanusGraph 进行交互或 TinkerPop。根据我在 Goblin 上找到的示例,我需要获取一个事件循环来异步运行命令。
>>> import asyncio
>>> from goblin import Goblin
>>> loop = asyncio.get_event_loop()
>>> app = loop.run_until_complete(
... Goblin.open(loop))
>>> app.register(Person, Knows)
但是我找不到从 Quart 获取事件循环的方法,即使它是建立在 asyncio 之上的。
有谁知道我怎么能得到它?任何帮助将不胜感激。
【问题讨论】:
-
您好,请问我的回答是否对您的问题有所帮助?
-
嗨,是的,它确实回答了我的主要问题,即如何获取事件循环。因为我在某处读到 Quart 是建立在 asyncio 之上的,所以我会从 Quart 实现并从 asyncio 继承的方法中获取 lopp。但是我还没有完成这个建议的实现,因为在我的例子中,我有一个包含多个模块的应用程序,我试图找出首先在哪里获得 tne 循环并传递给其他模块。
-
你不需要传递它;您可以在任何需要的地方拨打
asyncio.get_event_loop()。在旧版本的 asyncio 中需要显式传递循环的代码,其中get_event_loop()不能保证在从协程调用时为您提供正确的事件循环。
标签: python python-asyncio quart goblin