1
This commit is contained in:
parent
da4e72497e
commit
a5514525da
@ -5,11 +5,31 @@ const log = require('j7/log');
|
|||||||
const constant = require('common/constant');
|
const constant = require('common/constant');
|
||||||
const BaseService = require('./baseservice');
|
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 {
|
class PullBcEvent extends BaseService {
|
||||||
|
|
||||||
async init(bc, net, event) {
|
async init(bc, net, event) {
|
||||||
const {err, conn} = await app.getDbConn(constant.BCEVENTDB_NAME);
|
this.conn = await getGBcEventConn();
|
||||||
this.conn = conn;
|
|
||||||
this.lastBlockNumber = 0;
|
this.lastBlockNumber = 0;
|
||||||
this.bc = bc;
|
this.bc = bc;
|
||||||
this.net = net;
|
this.net = net;
|
||||||
@ -74,6 +94,7 @@ class PullBcEvent extends BaseService {
|
|||||||
await this.saveToDb(event);
|
await this.saveToDb(event);
|
||||||
return;
|
return;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
utils.safeDumpErrStack(err);
|
||||||
log.error(err);
|
log.error(err);
|
||||||
}
|
}
|
||||||
await utils.sleep(8000 + utils.randRange(500, 1500));
|
await utils.sleep(8000 + utils.randRange(500, 1500));
|
||||||
@ -107,6 +128,7 @@ class PullBcEvent extends BaseService {
|
|||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
utils.safeDumpErrStack(err);
|
||||||
log.error(err);
|
log.error(err);
|
||||||
}
|
}
|
||||||
await utils.sleep(5000 + utils.randRange(500, 1500));
|
await utils.sleep(5000 + utils.randRange(500, 1500));
|
||||||
|
2
third_party/j7
vendored
2
third_party/j7
vendored
@ -1 +1 @@
|
|||||||
Subproject commit ce576bd6ff46b5ce4836d786a7670f545916665f
|
Subproject commit 579d7de1c260822edef5aff0a6e64f9a2228ef6f
|
Loading…
x
Reference in New Issue
Block a user