feat: enhance password generation method; improve connection pooling logic in DatabasePlugin; update test cases with correct tokens
This commit is contained in:
@ -31,7 +31,12 @@ export class DatabasePlugin extends Plugin {
|
||||
if (DatabasePlugin.connectionPool.has(connectionKey)) {
|
||||
const existingConnection =
|
||||
DatabasePlugin.connectionPool.get(connectionKey);
|
||||
return new DatabasePlugin(name, existingConnection);
|
||||
|
||||
if (!(await existingConnection.ping())) {
|
||||
DatabasePlugin.connectionPool.delete(connectionKey);
|
||||
} else {
|
||||
return new DatabasePlugin(name, existingConnection);
|
||||
}
|
||||
}
|
||||
|
||||
const dbConnection = await mysql.createConnection({
|
||||
@ -40,13 +45,13 @@ export class DatabasePlugin extends Plugin {
|
||||
port: config.port,
|
||||
password: config.password,
|
||||
database: config.database,
|
||||
idleTimeout: config.idleTimeout,
|
||||
connectTimeout: config.connectTimeout,
|
||||
enableKeepAlive: true,
|
||||
idleTimeout: config.idleTimeout,
|
||||
maxIdle: 10,
|
||||
connectionLimit: 15,
|
||||
});
|
||||
|
||||
// await dbConnection.query("SET SESSION MAX_EXECUTION_TIME=2000;");
|
||||
|
||||
DatabasePlugin.connectionPool.set(connectionKey, dbConnection);
|
||||
return new DatabasePlugin(name, dbConnection);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user