2011-11-25 55 views
2

我有一個應用程序設置與Rails 3.1,Mongo 1.4.0,Mongoid 2.2.4。ConnectionFailure在rails中使用mongo 3.1

我所經歷是這樣的:

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個小時的谷歌搜索,我希望SO社區的能力能夠弄清楚這一點。 請問,如果您需要更多關於我的應用程序設置的信息,請詢問。 謝謝!

回答

3

你看到的是連接超時......長時間不活動之後或者如果你讓你的電腦進入睡眠狀態。

您可以更改/增加超時值,但這種方式最終無法擺脫連接超時。

一些MongoDB的驅動程序允許設置:超時=>假,但Mongoid似乎仍然有與 (見列表中的最後3個環節)

希望這有助於問題。

參見:

Mongodb server goes down, how to prevent Rails app from timing out?

MongoDB: What is connection pooling and timeout?

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


How can I query mongodb using mongoid/rails without timing out?

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

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

+0

非常感謝你爲這個徹底的答案! –

2

嘗試localhost更改爲127.0.0.1!

相關問題