Поправлен баг закрытия БД
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
const { JembaDbThread } = require('jembadb');
|
const { JembaDbThread } = require('jembadb');
|
||||||
const utils = require('../core/utils');
|
const utils = require('../core/utils');
|
||||||
const log = new (require('../core/AppLogger'))().log;//singleton
|
const log = new (require('../core/AppLogger'))().log;//singleton
|
||||||
|
const asyncExit = new (require('./AsyncExit'))();
|
||||||
|
|
||||||
const cleanPeriod = 1*60*1000;//1 минута
|
const cleanPeriod = 1*60*1000;//1 минута
|
||||||
const cleanUnusedTokenTimeout = 5*60*1000;//5 минут
|
const cleanUnusedTokenTimeout = 5*60*1000;//5 минут
|
||||||
@@ -13,6 +14,8 @@ class WebAccess {
|
|||||||
this.accessTimeout = config.accessTimeout*60*1000;
|
this.accessTimeout = config.accessTimeout*60*1000;
|
||||||
this.accessMap = new Map();
|
this.accessMap = new Map();
|
||||||
|
|
||||||
|
asyncExit.add(this.closeDb.bind(this));
|
||||||
|
|
||||||
setTimeout(() => { this.periodicClean(); }, cleanPeriod);
|
setTimeout(() => { this.periodicClean(); }, cleanPeriod);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,6 +70,13 @@ class WebAccess {
|
|||||||
this.db = db;
|
this.db = db;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async closeDb() {
|
||||||
|
if (this.db) {
|
||||||
|
await this.db.unlock();
|
||||||
|
this.db = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async periodicClean() {
|
async periodicClean() {
|
||||||
while (1) {//eslint-disable-line no-constant-condition
|
while (1) {//eslint-disable-line no-constant-condition
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user