mongodb - IndexError:从空的双端队列 mongoengine/pymongo 弹出
问题描述
我正在从 Flask 应用程序查询 MongoDB Atlas (M0) 数据库。启动/重新启动应用程序后,查询正常进行,并且在某些时候,每当调用需要数据库查询的操作时,我就会开始收到此错误:
File "/var/www/[Redacted]/[Redacted]/venv/lib/python3.7/site-packages/pymongo/pool.py", line 1278, in _get_socket
sock_info = self.sockets.popleft()
IndexError: pop from an empty deque
我正在使用 mongoengine 连接和查询数据库。我还使用 mongoengine 在不同的基于 python 的应用程序中连接和查询同一个数据库,并且没有这样的问题 - 只有在生产中的烧瓶中运行时。
我尝试添加authSource=admin
到连接字符串参数但没有成功。
我不确定为什么在尝试从生产 Web 服务器访问数据库时,此问题开始随机发生。查询有时会成功运行,因此连接至少可以正常工作,但它会在重新启动后 10 分钟到大约 8 小时之间随机停止工作。
解决方案
推荐阅读
- flutter - 输入'未来
' 不是类型 '() => void' 的子类型 - django - 如何从forms.ModelForm中渲染表单集[模型使用ForeignKey连接到用户]
- php - Laravel 6:SQLSTATE[HY000]:一般错误:1215 无法添加外键约束
- html - 正则表达式 - 永远挂起
- java - Java android google maps clustering,单击它们后更改标记中的图标
- angular - 下拉菜单不会第二次打开
- spring - 如何使用 SpEL 作为自定义注释的参数
- sinch - 从最近清除应用程序时,Sinch Video clling APi 不起作用
- c# - 在同一解决方案中跨项目引用对象
- c# - 如何在 Azure 搜索的主记录下索引多个 blob?