BAE上连接rockmongo报错:connection error: [Error: failed to connect to [mongo.duapp.com:8908]]及解决
发布于 10 年前 作者 YDSS 6380 次浏览 最后一次编辑是 8 年前 来自 问答

如题,各位有遇到过这种情况吗?一开始是连接正常的,connect连接后有打出日志来,但是过一会就报错了,用的是mongoose,代码如下:

var db = mongoose.createConnection(),
     options = {
       db: { native_parser: true },
       server: { poolSize: 5 },
       user: settings.user,
       pass: settings.pass
     };
 db.open(settings.host, settings.db, settings.port, options, function() {
   console.log('mongoDB connected!');
 });
 db.on('error', function (err) {
   console.error.bind(console, 'connection error:');
   //listen BAE mongodb,if except throws then close the connection
   //why have to do this?Clause it'll be disconnected if it free after 30s by     BAE 
   db.close();
 });
 //when close, reopen a connect
 db.on('close', function() {
   db.open(settings.host, settings.db, settings.port, options);
 });

这样写connect相当于是你给我断了,我就把原来的close了再新开一个,现在已经解决啦,希望遇到这个问题的盆友少走弯路!参考地址

2 回复

多谢分享

这样是可以实现重连,但是感觉要好几分钟才能重新连接,不知你有没有这样的感觉和现象

回到顶部