2016-07-29 109 views
1

如何在发生连接错误时捕获连接错误?如何捕获Sequelize连接错误

我试图做

var connection = new Sequelize("db://uri"); 
connection.on("error", function() { /* perhaps reconnect here */ }); 

但显然这是不支持。

我想这样做,因为我认为sequelize可能会抛出一个偶然的未处理的ETIMEOUT并导致我的节点进程崩溃。

目前我使用sequelize来连接一个mysql实例。我只需要它2-3小时,在此期间我会做很多阅读查询。在此期间,mysql服务器将不会连接到其他任何设备。

回答

0

使用sequelize同步为

var Sequelize = require('sequelize'); 

sequelize = new Sequelize(config.database, config.username, config.password, { 
    'host' : config.host, 
    'dialect' : config.dialect, 
    'port' : config.port, 
    'logging' : false 
    }) 

sequelize.sync().then(function(){ 
    console.log('DB connection sucessful.'); 
}, function(err){ 
    // catch error here 
    console.log(err); 

}); 
+1

酷感谢,我会尝试一下。我做了sequelize.authenticate()。然后(解决,拒绝)之前拒绝从未被调用。 – user1017674