Работа над BookUpdateChecker

This commit is contained in:
Book Pauk
2022-07-25 23:27:38 +07:00
parent ed8be34c12
commit 92ca9dd983
4 changed files with 230 additions and 10 deletions

View File

@@ -31,14 +31,28 @@ class JembaConnManager {
ayncExit.add(this.close.bind(this));
const serverNames = new Set();
const serverModes = new Set();
for (const serverCfg of this.config.servers) {
serverNames.add(serverCfg.serverName);
serverModes.add(serverCfg.mode);
}
for (const dbConfig of this.config.jembaDb) {
if (dbConfig.serverName && !serverNames.has(dbConfig.serverName))
continue;
//проверка, надо ли открывать базу, зависит от serverMode
if (dbConfig.serverMode) {
let serverMode = dbConfig.serverMode;
if (!Array.isArray(dbConfig.serverMode))
serverMode = [dbConfig.serverMode];
let modePresent = false;
for (const mode of serverMode) {
modePresent = serverModes.has(mode);
if (modePresent)
break;
}
if (!modePresent)
continue;
}
const dbPath = `${this.config.dataDir}/db/${dbConfig.dbName}`;

View File

@@ -1,7 +1,19 @@
module.exports = {
up: [
['create', {
/*{
id, // book URL
queryTime: Number,
checkTime: Number, // 0 - never checked
size: Number,
checkSum: String, //sha256
state: Number, // 0 - not processing, 1 - processing
error: String,
}*/
table: 'buc',
flag: [
{name: 'notProcessing', check: `(r) => r.state === 0`},
],
index: [
{field: 'queryTime', type: 'number'},
{field: 'checkTime', type: 'number'},