mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-01 21:23:59 +00:00
fixed problem with closing queries in progress
This commit is contained in:
@@ -21,6 +21,7 @@ let afterConnectCallbacks = [];
|
||||
let lastPing = null;
|
||||
let lastActivity = null;
|
||||
let currentProfiler = null;
|
||||
let executingScripts = 0;
|
||||
|
||||
class TableWriter {
|
||||
constructor() {
|
||||
@@ -263,6 +264,8 @@ async function handleExecuteQuery({ sql }) {
|
||||
//process.send({ msgtype: 'error', error: e.message });
|
||||
}
|
||||
|
||||
executingScripts++;
|
||||
try {
|
||||
const resultIndexHolder = {
|
||||
value: 0,
|
||||
};
|
||||
@@ -277,6 +280,9 @@ async function handleExecuteQuery({ sql }) {
|
||||
// resultIndex = handler.resultIndex;
|
||||
}
|
||||
process.send({ msgtype: 'done' });
|
||||
} finally {
|
||||
executingScripts--;
|
||||
}
|
||||
}
|
||||
|
||||
async function handleExecuteReader({ jslid, sql, fileName }) {
|
||||
@@ -349,7 +355,12 @@ function start() {
|
||||
storedConnection && storedConnection.globalSettings
|
||||
? extractIntSettingsValue(storedConnection.globalSettings, 'session.autoCloseTimeout', 15, 1, 120)
|
||||
: 15;
|
||||
if (useSessionTimeout && time - lastActivity > sessionTimeout * 60 * 1000 && !currentProfiler) {
|
||||
if (
|
||||
useSessionTimeout &&
|
||||
time - lastActivity > sessionTimeout * 60 * 1000 &&
|
||||
!currentProfiler &&
|
||||
executingScripts == 0
|
||||
) {
|
||||
logger.info('Session not active, exiting');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user