如何解决多线程下Pymongo连接过多的问题?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

如何解决多线程下Pymongo连接过多的问题?

2016-06-15 15:09:03 4327 1

最近调整原来的py爬虫时发现一个问题
在多线程下pymongo会报一个危险

/usr/lib64/python2.6/site-packages/pymongo/topology.py:75: 
UserWarning: MongoClient opened before fork. Create MongoClient with connect=False, 
or create client after forking. See PyMongo's documentation for details: 
http://api.mongodb.org/python/current/faq.html#using-pymongo-with-multiprocessing>
  "MongoClient opened before fork. Create MongoClient "

大意是多进程下要加上connect=False参数防止死锁?
然后加上这个参数程序依旧报这个危险,所以问下多进程下 pymongo的要在哪里初始化?
目前是这样

class mongo():
    def __init__(self):
        try:
            client = MongoClient(host="127.0.0.1", port=27017, connect=False)
            db = client.db
            print "mogodb successful connection~^_^"
        except Exception, e:
            print "mogodb Error", e
    def in():
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 19:39:20

    提示是mongo连接在fork之前就被创建了,希望你加connect=False参数或者在fork以后再建立连接。
    这个错误我以前碰到过,如果pymongo版本比较老的话是不支持connect=False这个参数的,升级一下就好了,或者你把初始化数据库连接的代码放到fork以后,就是在线程里面需要的时候再初始化。

    0 0
相关问答

1

回答

如何处理连接桌面时报错:NoMoreActiveSessions, InstanceNotRegis

2020-03-24 22:23:34 990浏览量 回答数 1

0

回答

如何连接或连接两个图像与正确的路径在iOS斯威夫特?

2019-12-06 14:45:47 130浏览量 回答数 0

1

回答

远程桌面可以连接,但是外网连接不到网站

2018-11-27 15:46:05 350浏览量 回答数 1

2

回答

[@项籍][¥20]多线程并发速度

2018-11-13 09:33:45 1612浏览量 回答数 2

0

回答

如何查看所有连接串

2017-10-18 17:37:34 1780浏览量 回答数 0

1

回答

用odps我跑一个MR 程序,发现一个worker 应该跑很长时间的,但是这个worker 很快跑完了,然后我查看日志发现它被interupted了.

2017-07-04 17:05:04 1691浏览量 回答数 1

1

回答

cenos下被minerd 进程耗满cpu资源如何解决?

2016-07-22 18:41:23 2112浏览量 回答数 1

1

回答

项目中多表连接查询语句

2016-06-15 10:10:34 1339浏览量 回答数 1

2

回答

一个资源上传和下载比较多的网站如何用oss

2015-04-16 13:15:32 6227浏览量 回答数 2

4

回答

深圳电信一直不能连接网站

2011-08-03 04:47:59 9092浏览量 回答数 4
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载