[feature] Added mysql timeouts to config

This commit is contained in:
Georgii Petrov
2024-06-04 12:03:22 +03:00
committed by Sergey Konovalov
parent 724583100b
commit a5df749830
2 changed files with 11 additions and 3 deletions

View File

@ -241,7 +241,10 @@
"idleTimeoutMillis": 30000
}
},
"mysqlExtraOptions": {}
"mysqlExtraOptions": {
"connectTimeout": 60000,
"queryTimeout": 60000
}
},
"redis": {
"name": "redis",

View File

@ -53,8 +53,13 @@ const connectionConfiguration = {
const additionalOptions = configSql.get('mysqlExtraOptions');
const configuration = Object.assign({}, connectionConfiguration, additionalOptions);
let queryTimeout = undefined;
if (configuration.queryTimeout) {
queryTimeout = configuration.queryTimeout;
delete configuration.queryTimeout;
}
let pool = mysql.createPool(configuration);
const pool = mysql.createPool(configuration);
function sqlQuery(ctx, sqlCommand, callbackFunction, opt_noModifyRes = false, opt_noLog = false, opt_values = []) {
return executeQuery(ctx, sqlCommand, opt_values, opt_noModifyRes, opt_noLog).then(
@ -68,7 +73,7 @@ async function executeQuery(ctx, sqlCommand, values = [], noModifyRes = false, n
try {
connection = await pool.getConnection();
const result = await connection.query(sqlCommand, values);
const result = await connection.query({ sql: sqlCommand, timeout: queryTimeout, values });
let output;
if (!noModifyRes) {