猫鼬超时并抛出异常

时间:2013-07-23 11:45:12

标签: node.js mongodb mongoose

当node.js服务器处于非活动状态一段时间后,它会崩溃并出现以下异常:

events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [------] at null. (/Users/tomi/Documents/Platforms/Databox/Sources/Web/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:636:74)
at EventEmitter.emit (events.js:106:17)
at null. (/Users/tomi/Documents/Platforms/Databox/Sources/Web/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:139:15)
at EventEmitter.emit (events.js:98:17)
at Socket. (/Users/tomi/Documents/Platforms/Databox/Sources/Web/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:476:10)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:441:14
at process._tickCallback (node.js:415:13)

这是我初始化连接的方式:

function connect(uri, poolsize, callback) {

var options = {
    db: { native_parser: false, retryMiliSeconds: 5000, numberOfRetries: 360000 },
    server: { poolSize: poolsize, socketOptions: { keepAlive: 1, connectTimeoutMS: 5000 },    auto_reconnect: true }
};
this.connection = mongoose.connect(uri, options).connection;

var addEvents = function (obj) {
    obj.on('connected', function () {
        console.log('Connected to database');
        //connectionPoolStats.logConnectionPoolStats();
    });
    obj.on('disconnected', function () {
        console.log('Disconnected from database');
    });
    obj.on('close', function () {
        console.log('Connection to database closed');
    });
};
addEvents(this.connection);

if (callback) {
    callback();
}

};

连接只会引发异常而从不重新初始化;(

任何线索?

1 个答案:

答案 0 :(得分:0)

你看到了哪个版本的猫鼬?

请使用今天发布的新版本进行测试:npm install mongoose@3.6.17

如果您继续看到此问题,请open a ticket