问题描述
我一直在使用 https://github.com/Azure-Samples/azure-cosmos-db-graph-python-getting-started 项目来处理 cosmosdb-gremlin。
当我在 Windows 上将它作为 python 函数运行时,项目工作正常。
我能够转换和运行,但面临几个问题(tornado+python3.8 兼容性问题)(nest_asyncio)。现在我已经解决了这些错误,但我仍然在关注(附上截图)
client.close().
所以为了避免完全的流程失败,我只是将它包裹在 try/catch 中。所以现在流量在继续,在功能上我没有看到任何副作用。
但后来我注意到一些事情,线程数随着每次运行而增加。我不确定这是不是因为我没有关闭错误。恐怕我在积累孤儿线程。
请建议可以做什么?
我正在尝试修改 gremlin-python 包中的代码,因为这样它可能会在本地工作,但是在 azure 上部署它时我会遇到其他问题。
我使用的是 python 3.8.5
解决方法
我能够通过实施 2 个步骤来解决它。
-
通过添加 async 更改了 axuze 函数。
async def main(req: func.HttpRequest) -> func.HttpResponse:
-
在文件顶部添加了这两行...
导入 nest_asyncio
nest_asyncio.apply()
-
通过在requirements.txt中添加以下条目来降级龙卷风
龙卷风==4.5.3