|
@@ -12,13 +12,35 @@ var username = db_config.mysql.USERNAME
|
|
var password = db_config.mysql.PASSWORD
|
|
var password = db_config.mysql.PASSWORD
|
|
var database = db_config.mysql.DATABASE
|
|
var database = db_config.mysql.DATABASE
|
|
var tablename = db_config.mysql.TABLENAME
|
|
var tablename = db_config.mysql.TABLENAME
|
|
-var MYSQL_INSTANCE = mysql.createConnection({
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+var opts = {
|
|
host: host,
|
|
host: host,
|
|
user: username,
|
|
user: username,
|
|
password: password,
|
|
password: password,
|
|
port: port,
|
|
port: port,
|
|
database: database,
|
|
database: database,
|
|
-});
|
|
|
|
|
|
+}
|
|
|
|
+var MYSQL_INSTANCE = null;
|
|
|
|
+
|
|
|
|
+// opts.connectionLimit = 10
|
|
|
|
+// MYSQL_INSTANCE = mysql.createPool(opts);
|
|
|
|
+createDefMysqlConnect();
|
|
|
|
+
|
|
|
|
+function createDefMysqlConnect() {
|
|
|
|
+ disDefMysqlConnect();
|
|
|
|
+ logger.log('createDefMysqlConnect')
|
|
|
|
+ MYSQL_INSTANCE = mysql.createConnection(opts);
|
|
|
|
+ MYSQL_INSTANCE.connect();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function disDefMysqlConnect() {
|
|
|
|
+ if (MYSQL_INSTANCE) {
|
|
|
|
+ MYSQL_INSTANCE.end();
|
|
|
|
+ MYSQL_INSTANCE = null;
|
|
|
|
+ logger.debug('dis mysql')
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
|
|
// logger.log('connected to mysql ps=', db_config.mysql)
|
|
// logger.log('connected to mysql ps=', db_config.mysql)
|
|
MYSQL_INSTANCE.on('connect', () => {
|
|
MYSQL_INSTANCE.on('connect', () => {
|
|
@@ -26,11 +48,42 @@ MYSQL_INSTANCE.on('connect', () => {
|
|
})
|
|
})
|
|
|
|
|
|
MYSQL_INSTANCE.on('error', function (err) {
|
|
MYSQL_INSTANCE.on('error', function (err) {
|
|
- logger.log('mysql Error =>', err);
|
|
|
|
|
|
+ logger.error('mysql Error =>', err);
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+MYSQL_INSTANCE.on('restart', function () {
|
|
|
|
+ logger.error('mysql restart =>');
|
|
});
|
|
});
|
|
-MYSQL_INSTANCE.connect();
|
|
|
|
|
|
+
|
|
|
|
+MYSQL_INSTANCE.on('acquire', function (connection) {
|
|
|
|
+ logger.log('Connection %d acquired', connection.threadId);
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+MYSQL_INSTANCE.on('connection', function (connection) {
|
|
|
|
+ logger.log('mysql connection', connection);
|
|
|
|
+});
|
|
|
|
+MYSQL_INSTANCE.on('enqueue', function () {
|
|
|
|
+ logger.log('Waiting for available connection slot');
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+MYSQL_INSTANCE.on('release', function (connection) {
|
|
|
|
+ logger.log('Connection %d released', connection.threadId);
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+// MYSQL_INSTANCE
|
|
|
|
+
|
|
|
|
+MYSQL_INSTANCE.on('uncaughtException', function (err) {
|
|
|
|
+ logger.error('mysql uncaughtException =>', err);
|
|
|
|
+ if (err.code == "PROTOCOL_CONNECTION_LOST") {
|
|
|
|
+ // mysql.restart();
|
|
|
|
+ }
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
function queryCompanyInfoFromId(id) {
|
|
function queryCompanyInfoFromId(id) {
|
|
|
|
+ createDefMysqlConnect()
|
|
var sql_main = 'select * from '
|
|
var sql_main = 'select * from '
|
|
var sql_table_name = 'company_key_manage'
|
|
var sql_table_name = 'company_key_manage'
|
|
var sql_where = ' WHERE '
|
|
var sql_where = ' WHERE '
|
|
@@ -39,6 +92,7 @@ function queryCompanyInfoFromId(id) {
|
|
var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
|
|
var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
|
|
logger.debug('queryCompanyPrivateKeyFromId new_sql=', new_sql);
|
|
logger.debug('queryCompanyPrivateKeyFromId new_sql=', new_sql);
|
|
return new Promise((resolve) => {
|
|
return new Promise((resolve) => {
|
|
|
|
+ // MYSQL_INSTANCE.getConnection(function (err, connection) {
|
|
MYSQL_INSTANCE.query(
|
|
MYSQL_INSTANCE.query(
|
|
new_sql, [sql_where_value],
|
|
new_sql, [sql_where_value],
|
|
function selectCb(err, results) {
|
|
function selectCb(err, results) {
|
|
@@ -54,12 +108,15 @@ function queryCompanyInfoFromId(id) {
|
|
err: err,
|
|
err: err,
|
|
results: ret
|
|
results: ret
|
|
});
|
|
});
|
|
|
|
+ disDefMysqlConnect();
|
|
}
|
|
}
|
|
);
|
|
);
|
|
|
|
+
|
|
|
|
+ // })
|
|
|
|
+
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 查询用户私钥
|
|
* 查询用户私钥
|
|
*
|
|
*
|
|
@@ -67,6 +124,7 @@ function queryCompanyInfoFromId(id) {
|
|
* @returns
|
|
* @returns
|
|
*/
|
|
*/
|
|
function queryUserPrivateKeyFromUserAddress(user_address) {
|
|
function queryUserPrivateKeyFromUserAddress(user_address) {
|
|
|
|
+ createDefMysqlConnect()
|
|
var sql_main = 'select * from '
|
|
var sql_main = 'select * from '
|
|
var sql_table_name = tablename
|
|
var sql_table_name = tablename
|
|
var sql_where = ' WHERE '
|
|
var sql_where = ' WHERE '
|
|
@@ -75,6 +133,8 @@ function queryUserPrivateKeyFromUserAddress(user_address) {
|
|
var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
|
|
var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
|
|
logger.debug('queryUserPrivateKeyFromUserAddress new_sql=', new_sql);
|
|
logger.debug('queryUserPrivateKeyFromUserAddress new_sql=', new_sql);
|
|
return new Promise((resolve) => {
|
|
return new Promise((resolve) => {
|
|
|
|
+
|
|
|
|
+ // MYSQL_INSTANCE.getConnection(function (err, connection) {
|
|
MYSQL_INSTANCE.query(
|
|
MYSQL_INSTANCE.query(
|
|
new_sql, [sql_where_value],
|
|
new_sql, [sql_where_value],
|
|
function selectCb(err, results) {
|
|
function selectCb(err, results) {
|
|
@@ -90,8 +150,13 @@ function queryUserPrivateKeyFromUserAddress(user_address) {
|
|
err: err,
|
|
err: err,
|
|
results: ret
|
|
results: ret
|
|
});
|
|
});
|
|
|
|
+ disDefMysqlConnect();
|
|
}
|
|
}
|
|
);
|
|
);
|
|
|
|
+
|
|
|
|
+ // })
|
|
|
|
+
|
|
|
|
+
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
@@ -109,7 +174,9 @@ function queryAllUserPrivateKeyAndUserAddress() {
|
|
var sql_where_name = ' '
|
|
var sql_where_name = ' '
|
|
var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
|
|
var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
|
|
logger.debug('queryAllUserPrivateKeyAndUserAddress new_sql=', new_sql);
|
|
logger.debug('queryAllUserPrivateKeyAndUserAddress new_sql=', new_sql);
|
|
|
|
+ createDefMysqlConnect()
|
|
return new Promise((resolve) => {
|
|
return new Promise((resolve) => {
|
|
|
|
+ // MYSQL_INSTANCE.getConnection(function (err, connection) {
|
|
MYSQL_INSTANCE.query(
|
|
MYSQL_INSTANCE.query(
|
|
new_sql, [],
|
|
new_sql, [],
|
|
function selectCb(err, results) {
|
|
function selectCb(err, results) {
|
|
@@ -119,6 +186,8 @@ function queryAllUserPrivateKeyAndUserAddress() {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
);
|
|
);
|
|
|
|
+ // })
|
|
|
|
+ disDefMysqlConnect();
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|