This commit is contained in:
aozhiwei 2023-07-12 10:17:14 +08:00
parent da4e72497e
commit a5514525da
2 changed files with 25 additions and 3 deletions

View File

@ -5,11 +5,31 @@ const log = require('j7/log');
const constant = require('common/constant');
const BaseService = require('./baseservice');
let g_bcevent_conn = null;
let lock_times = 0;
async function getGBcEventConn() {
if (!g_bcevent_conn) {
++lock_times;
try {
while (lock_times > 1) {
await utils.sleep(1);
}
const {err, conn} = await app.getDbConn(constant.BCEVENTDB_NAME);
if (err) {
throw new Error('getGBcEventConn error:' + err);
}
g_bcevent_conn = conn;
} finally {
--lock_times;
}
}
return g_bcevent_conn;
}
class PullBcEvent extends BaseService {
async init(bc, net, event) {
const {err, conn} = await app.getDbConn(constant.BCEVENTDB_NAME);
this.conn = conn;
this.conn = await getGBcEventConn();
this.lastBlockNumber = 0;
this.bc = bc;
this.net = net;
@ -74,6 +94,7 @@ class PullBcEvent extends BaseService {
await this.saveToDb(event);
return;
} catch (err) {
utils.safeDumpErrStack(err);
log.error(err);
}
await utils.sleep(8000 + utils.randRange(500, 1500));
@ -107,6 +128,7 @@ class PullBcEvent extends BaseService {
}
continue;
} catch (err) {
utils.safeDumpErrStack(err);
log.error(err);
}
await utils.sleep(5000 + utils.randRange(500, 1500));

2
third_party/j7 vendored

@ -1 +1 @@
Subproject commit ce576bd6ff46b5ce4836d786a7670f545916665f
Subproject commit 579d7de1c260822edef5aff0a6e64f9a2228ef6f