pymongo зависает при создании Connection [closed]

1

Когда я запускаю следующие строки из оболочки Python, код зависает:

from pymongo import Connection
c = Connection('localhost', 27017)

Я предполагаю, что он ждет ответа с сервера монго. Когда я прерываю вызов, я получаю трассировку:

^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 325, in __init__
self.__find_node()
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 589, in __find_node
node = self.__try_node(candidate)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 528, in __try_node
response = self.admin.command("ismaster")
  File "/usr/local/lib/python2.6/dist-packages/pymongo/database.py", line 335, in command
_is_command=True)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/collection.py", line 486, in find_one
for result in self.find(spec_or_id, *args, **kwargs).limit(-1):
  File "/usr/local/lib/python2.6/dist-packages/pymongo/cursor.py", line 655, in next
if len(self.__data) or self._refresh():
  File "/usr/local/lib/python2.6/dist-packages/pymongo/cursor.py", line 618, in _refresh
self.__query_spec(), self.__fields))
  File "/usr/local/lib/python2.6/dist-packages/pymongo/cursor.py", line 575, in __send_message
**kwargs)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 807, in _send_message_with_response
return self.__send_and_receive(message, sock)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 788, in __send_and_receive
return self.__receive_message_on_socket(1, request_id, sock)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 774, in __receive_message_on_socket
header = self.__receive_data_on_socket(16, sock)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 763, in __receive_data_on_socket
chunk = sock.recv(length - len(message))
KeyboardInterrupt

Является ли монгод не отвечать? Похоже, я застрял в ожидании получения данных из сокета.

Однако это работает (что означает, что mongod работает правильно):

$ mongo --port 27017
MongoDB shell version: 2.0.1
connecting to: 127.0.0.1:27017/test
Теги:
pymongo

1 ответ

1

Извините, глупая ошибка. У меня была проблема с монгодом в фоновом режиме.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню