pymongo多线程报错Address already in use

  统计/机器学习 Python    浏览次数:1611        分享
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



  相关主题

怎么check dataframe 中的某个元素是否字符串?   1回答

Jupiter notebook里一个cell显示多个dataframe   1回答

gc.collect()返回值是什么意思   1回答

python里求累计和   2回答

python怎么去除字符串中的连字符?   1回答

map lambda if逗号报错,invalid syntax   1回答

如何将csv中多行变成一行   2回答

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

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

print的时候报错:TypeError: unsupported operand type(s) for /: 'str' and 'int'   1回答

python里的<<或者>>符号是什么意思?   2回答

python中休眠   1回答



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

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

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

我们谢绝答非所问。

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

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