Sfoglia il codice sorgente

Поправлен баг закрытия БД

Book Pauk 2 anni fa
parent
commit
74bb3f2362
1 ha cambiato i file con 10 aggiunte e 0 eliminazioni
  1. 10 0
      server/core/WebAccess.js

+ 10 - 0
server/core/WebAccess.js

@@ -1,6 +1,7 @@
 const { JembaDbThread } = require('jembadb');
 const utils = require('../core/utils');
 const log = new (require('../core/AppLogger'))().log;//singleton
+const asyncExit = new (require('./AsyncExit'))();
 
 const cleanPeriod = 1*60*1000;//1 минута
 const cleanUnusedTokenTimeout = 5*60*1000;//5 минут
@@ -13,6 +14,8 @@ class WebAccess {
         this.accessTimeout = config.accessTimeout*60*1000;
         this.accessMap = new Map();
 
+        asyncExit.add(this.closeDb.bind(this));
+
         setTimeout(() => { this.periodicClean(); }, cleanPeriod);
     }
 
@@ -67,6 +70,13 @@ class WebAccess {
         this.db = db;
     }
 
+    async closeDb() {
+        if (this.db) {
+            await this.db.unlock();
+            this.db = null;
+        }
+    }
+
     async periodicClean() {
         while (1) {//eslint-disable-line no-constant-condition
             try {