1
Ich benutze Node JS und ich versuche, eine Verbindung zu einer MySQL-Datenbank herzustellen. Es wird wegen einer Zeitüberschreitung immer getrennt, also habe ich eine Funktion zum Wiederverbinden geschrieben, wenn es Timeouts gibt. Obwohl ich es brauche, um eine kontinuierliche Verbindung zu sein oder Referenzen in meinem Code wird nicht funktionieren. Hier ist mein entsprechenden Code:Node JS Mysql Datenbank trennen
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '.........', // MySQL Host
user : '.........', // MySQL User
password : '.........', // MySQL Password
database : '.........' // MySQL Databse
});
// MYSQL INFO
//connection.connect();
function replaceClientOnDisconnect(connection) {
connection.on("error", function (err) {
if (!err.fatal) {
console.log('Databse Error, error not fatal');
return;
}
if (err.code !== "PROTOCOL_CONNECTION_LOST") {
throw err;
console.log('PROTOCOL_CONNECTION_LOST Error: Reconnecting to database...');
}
setTimeout(function() {
connection.destroy();
connection = mysql.createConnection(connection.config);
replaceClientOnDisconnect(connection);
connection.connect(function (error) {
if (error) {
process.exit(1);
} else {
console.log('Reconnected to database!');
}
}, 1000); // 1 sec
});
});
}
// And run this on every connection as soon as it is created.
replaceClientOnDisconnect(connection);