var db_config = { host: 'localhost', user: 'root', password: '', database: 'example' }; var connection; function handleDisconnect() { connection = mysql.createConnection(db_config); // Recreate the connection, since // the old one cannot be reused. connection.connect(function(err) { // The server is either down if(err) { // or restarting (takes a while sometimes). console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); // We introduce a delay before attempting to reconnect, } // to avoid a hot loop, and to allow our node script to }); // process asynchronous requests in the meantime. // If you're also serving http, display a 503 error. connection.on('error', function(err) { console.log('db error', err); if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection to the MySQL server is usually handleDisconnect(); // lost due to either server restart, or a } else { // connnection idle timeout (the wait_timeout throw err; // server variable configures this) } }); } handleDisconnect();약간 고쳐서
connection.on('error', function(err){ console.log('db error', err); if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection to the MySQL server is usually setTimeout( function(){ pool.create( callback ); // lost due to either server restart, or a }, 999 ); } else { // connnection idle timeout (the wait_timeout throw err; // server variable configures this) } });
반응형
'lang > node' 카테고리의 다른 글
nodejs https > http Proxy (0) | 2015.09.17 |
---|---|
Node.js SSL (0) | 2015.09.11 |
node.js Install (0) | 2012.07.27 |
우분투 node.js 설치 (0) | 2012.05.23 |
Building a JavaScript-Based Game Engine for the Web (0) | 2011.01.20 |