2016-07-29 92 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