Ошибка соединения с использованием монго в рельсах 3.1 - PullRequest
2 голосов
/ 26 ноября 2011

У меня есть настройка приложения с Rails 3.1, Mongo 1.4.0, Mongoid 2.2.4.

Что я испытываю, так это:

Mongo::ConnectionFailure: Failed to connect to a master node at localhost:27017

У меня была эта проблема раньше, но она исчезла при перезагрузке компьютера ... на этот раз это не так. Я не понимаю, я ничего не делал. Я просто перевел свой компьютер в спящий режим, пошел домой и разбудил его, и вот он был.

Вот вывод sudo mongod

Fri Nov 25 21:47:14 [initandlisten] MongoDB starting : pid=1963 port=27017          dbpath=/data/db/ 64-bit host=xxx.local
Fri Nov 25 21:47:14 [initandlisten] db version v2.0.0, pdfile version 4.5
Fri Nov 25 21:47:14 [initandlisten] git version: 695c67dff0ffc361b8568a13366f027caa406222
Fri Nov 25 21:47:14 [initandlisten] build info: Darwin erh2.10gen.cc 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_40
Fri Nov 25 21:47:14 [initandlisten] options: {}
Fri Nov 25 21:47:14 [initandlisten] journal dir=/data/db/journal
Fri Nov 25 21:47:14 [initandlisten] recover : no journal files present, no recovery needed
Fri Nov 25 21:47:15 [websvr] admin web console waiting for connections on port 28017
Fri Nov 25 21:47:15 [initandlisten] waiting for connections on port 27017

И я могу соединиться с mongo в терминале. Я надеюсь, что после 2 часов поиска в Google сообщество компетентных специалистов сможет это понять. Пожалуйста, если вам нужна дополнительная информация о моей настройке приложения, просто спросите. Спасибо!

Ответы [ 2 ]

3 голосов
/ 26 ноября 2011

То, что вы видите, это то, что время соединения истекает ... это происходит либо после длительного периода бездействия, либо когда вы переводите компьютер в режим сна.

Вы можете изменить / увеличить значение тайм-аута, но таким образом вы не сможете в конечном итоге избавиться от тайм-аута соединения.

Некоторые драйверы MongoDB позволяют установить: timeout => false, но Mongoid, похоже, все еще имеет проблемы с этим (см. последние 3 ссылки в списке)

Надеюсь, это поможет.

Смотри также:

Сервер Mongodb не работает, как предотвратить отключение приложения Rails по тайм-ауту?

MongoDB: Что такое пул соединений и время ожидания?

https://github.com/mongodb/mongo-ruby-driver


Как я могу запросить mongodb, используя mongoid / rails без тайм-аута?

http://groups.google.com/group/mongoid/browse_thread/thread/b5c94e7047b42f8a

https://github.com/mongoid/mongoid/issues/455

2 голосов
/ 07 декабря 2011

Попробуйте изменить localhost на 127.0.0.1!

...