pymongo多线程报错Address already in use

  统计/机器学习 Python    浏览次数:2411        分享
1

我用cygwin跑的Python,开了1000个线程读取mongodb的数据,前面好好的,后面就开始报错了,这个问题挺久了,试了网上的方法好像都无效


  File "/usr/lib/python2.7/site-packages/pymongo/collection.py", line 2524, in remove
    with self._socket_for_writes() as sock_info:
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/pymongo/mongo_client.py", line 825, in _get_socket
    with server.get_socket(self.__all_credentials) as sock_info:
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/pymongo/server.py", line 168, in get_socket
    with self.pool.get_socket(all_credentials, checkout) as sock_info:
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/pymongo/pool.py", line 790, in get_socket
    sock_info = self._get_socket_no_auth()
  File "/usr/lib/python2.7/site-packages/pymongo/pool.py", line 826, in _get_socket_no_auth
    sock_info, from_pool = self.connect(), False
  File "/usr/lib/python2.7/site-packages/pymongo/pool.py", line 763, in connect
    _raise_connection_failure(self.address, error)
  File "/usr/lib/python2.7/site-packages/pymongo/pool.py", line 211, in _raise_connection_failure
    raise AutoReconnect(msg)
AutoReconnect: 127.0.0.1:27017: [Errno 112] Address already in use




 

莫斯   2017-12-12 15:59



   1个回答 
0

估计是port被占用了,不知道是不是前面的进程出了问题,试试把threads数量调小点,然后读个小数据试试。


SofaSofa数据科学社区DS面试题库 DS面经

数据痴汉   2017-12-13 00:53



  相关主题

怎么在python获取系统的当前日期和时间?   1回答

from __future__ import division是什么意思   3回答

python里有没有类似matlab里linspace的功能?   2回答

怎么让DataFrame按照某一列绝对值从小到按排列?   2回答

Python 处理问题   2回答

python里的continue是什么意思   2回答

怎么把statsmodels训练的模型本地保存?   1回答

用python生成一个取值在a到b之间的随机矩阵   1回答

print里的"%.2f"是什么意思?   1回答

python 时间格式问题   1回答

python如何判断某路径下是否存在指定的csv文件?   2回答

python __del__ 求解释   3回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!