Files
liberama/server/core/BookUpdateChecker/BUCClient.js
2022-07-26 17:30:34 +07:00

64 lines
1.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const JembaConnManager = require('../../db/JembaConnManager');//singleton
const ayncExit = new (require('../AsyncExit'))();
const utils = require('../utils');
const log = new (require('../AppLogger'))().log;//singleton
const minuteMs = 60*1000;
const hourMs = 60*minuteMs;
let instance = null;
//singleton
class BUCClient {
constructor(config) {
if (!instance) {
this.config = config;
this.connManager = new JembaConnManager();
this.db = this.connManager.db['book-update-server'];
//константы
if (this.config.branch !== 'development') {
this.syncPeriod = 1*hourMs;//период синхронизации с сервером BUC
} else {
this.syncPeriod = 1*minuteMs;//период синхронизации с сервером BUC
}
this.fromCheckTime = 1;
this.main();//no await
instance = this;
}
return instance;
}
async checkBuc(bookUrls) {
return [];
}
async findMaxCheckTime() {
let result = 1;
return result;
}
async main() {
if (!this.config.bucEnabled)
throw new Error('BookUpdateChecker disabled');
try {
this.fromCheckTime = await this.findMaxCheckTime();
//this.periodicSync();//no await
log(`BUC Client started`);
} catch (e) {
log(LM_FATAL, e.stack);
ayncExit.exit(1);
}
}
}
module.exports = BUCClient;