如果我在默认端口取消并重新启动我的mongodb,我重新连接正常,没有任何问题。
当我在27018
端口上执行此操作时,它似乎在我的bash窗口中重新连接,并在重新启动结束时收到此声明:
initandlisten] waiting for connections on port 27018
websvr] web admin interface listening on port 28018
但是当我运行我的应用程序时,我会收到类似
的错误Operation failed with the following exception: connection closed
和
Operation failed with the following exception: Broken pipe - send(2)
:10:in `synchronize'
答案 0 :(得分:2)
Mongoid创建与MongoDB进程的连接,然后出于性能原因保留它。如果服务器出现故障,则服务器端的连接中断,客户端无法再发送请求。
在Mongoid configuration中,您可以将连接配置为可重试,以便即使失败也会重试失败的连接。
max_retries_on_connection_failure [2]
方括号中的数字是在引发异常之前重试的次数(每次尝试之间有半秒差距)。