如何解决是否可以将fastapi与gremlin-python一起使用?
我正在尝试将fastapi与gremlin-python一起使用。该库使用龙卷风作为连接到gremlin服务器的传输工具,尤其是它使用httpclient和websockets以及龙卷风的ioloop。
问题是python禁止嵌套事件循环,并且出现运行时错误:https://pastebin.com/mcFhuKks 目前,我使用nest_asyncio作为解决方法,但这是一个非常不可靠的解决方案。
由于以前我在这里看到了一些与异步循环有关的问题(尽管主要是与aiohttp有关),所以我很好奇是否有一些简单的方法可以解决该问题(例如,以某种方式重用父级事件循环)。
我还要注意gremlin-python DB连接构造函数支持传递自定义传输工厂(而不是default),因此我尝试使用asyncio.get_event_loop()
和asyncio.run_until_complete()
之类的东西而不是龙卷风的替代品,但是没有运气。
因此,我在这里提供任何想法或可能的解决方案。
- FastAPI版本:== 0.61.1
- Python版本:python:3.8-slim
解决方法
gremlin库的体系结构很差。使用websocket-client创建的同步传输工厂,现在可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。