From a356500cb175582054fc33b0f15e7e791df59c2d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 5 Jul 2023 21:15:26 +0800 Subject: [PATCH] 1 --- server/web3dbspider/metadata/factory.js | 16 +++++++++++ .../web3dbspider/services/dbevent_process.js | 28 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/server/web3dbspider/metadata/factory.js b/server/web3dbspider/metadata/factory.js index fb7322f..ba5c644 100644 --- a/server/web3dbspider/metadata/factory.js +++ b/server/web3dbspider/metadata/factory.js @@ -215,6 +215,21 @@ function getNetDir(netId) { return netDir; } +function getAllTables() { + const tables = {}; + getNetList().forEach( + (net) => { + net['Events'].forEach( + (item) => { + tables[item['table_name']] = { + 'table_name': item['table_name'] + }; + } + ); + }); + return tables; +} + exports.init = init; exports.getMetaByKey = getMetaByKey; @@ -226,3 +241,4 @@ exports.getWeb3DbSpiderConf = getWeb3DbSpiderConf; exports.getContractsConf = getContractsConf; exports.getNetList = getNetList; exports.getNetDir = getNetDir; +exports.getAllTables = getAllTables; diff --git a/server/web3dbspider/services/dbevent_process.js b/server/web3dbspider/services/dbevent_process.js index ea01a15..361bd48 100644 --- a/server/web3dbspider/services/dbevent_process.js +++ b/server/web3dbspider/services/dbevent_process.js @@ -3,9 +3,37 @@ const utils = require('j7/utils'); const bcutils = require('j7/bcutils'); const log = require('j7/log'); const BaseService = require('./baseservice'); +const metaFactory = require('../metadata/factory'); class DbEventProcess extends BaseService { + static #tableMaxIdxHash = {}; + + static async staticInit() { + console.log(metaFactory.getAllTables()); + /* + const {err, conn} = await app.getDbConn('BcEventDb0'); + { + const {err, maxIdx} = await conn.getMaxIdx(BCEVENT_TABLE_NAME); + if (err) { + throw 'PullDbEvent error:' + err; + } + PullDbEvent.#maxIdx = maxIdx; + } + const updateMaxIdxFunc = async () => { + while (true) { + const {err, maxIdx} = await conn.getMaxIdx(BCEVENT_TABLE_NAME); + if (!err) { + PullDbEvent.#maxIdx = maxIdx; + await utils.sleep(500 + utils.randRange(500, 1500)); + } else { + await utils.sleep(5000 + utils.randRange(500, 1500)); + } + } + }; + updateMaxIdxFunc();*/ + } + async init(net, event) { const {err, conn} = await app.getDbConn('BcEventDb0'); this.conn = conn;