Я запускаю демон с пулом соединений mongo. Она прекрасно работает в течение нескольких дней, но в конце концов он выходит из строя, и каждый последующий запрос получает эту ошибку:Хороший способ обработки MongoError: пул экземпляров сервера был уничтожен
MongoError: сервер экземпляра бассейн был разрушен
код похож на этот:
var MongoClient = require('mongodb').MongoClient;
var express = require('express');
var app = express();
MongoClient.connect(config.mongo.url, function(err, db) {
app.use('/', function(req, res, next) {
db.collection('somecollection').find({}).toArray(function(err, result) {
console.log(result);
});
})
var server = require('http').Server(app);
server.listen(config.worker.port, function() {
var address = server.address();
logger.info({
address: address.address,
port: address.port
}, 'New Worker created');
});
});
возобновления процесса исправления проблема, но я хотел бы, чтобы приложение каким-то образом элегантно подключилось и перезапустило объект «db».
Я попытаюсь посмотреть, смогу ли я заставить его работать с использованием событий в стандартном драйвере. Единственный кандидат: http://mongodb.github.io/node-mongodb-native/2.2/api/Db.html#event:error –
@phraktal: Вы можете послушать это событие? я просматриваю документы, но до сих пор не могу понять, как слушать ошибку для родного драйвера. Пожалуйста посоветуйте, спасибо :) – chaintng