Почему я получаю ошибки приложения при остановке и перезапуске службы mongod? - PullRequest
2 голосов
/ 14 мая 2011

Если я отменю и перезапущу свой 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'

1 Ответ

2 голосов
/ 14 мая 2011

Mongoid создает соединение с процессом MongoDB, а затем сохраняет его для повышения производительности. Если сервер выходит из строя, соединение разрывается на стороне сервера, и клиент больше не может отправлять запросы.

В вашей Mongoid конфигурации вы можете настроить повторное подключение, чтобы неудачные соединения повторялись даже после сбоя.

max_retries_on_connection_failure [2]

Число в квадратных скобках - это количество попыток (с интервалом в полсекунды между каждой попыткой) перед возникновением исключения.

...