1
This commit is contained in:
parent
818935d2cb
commit
46c85f4ce0
@ -61,12 +61,28 @@ class DbEventProcess extends BaseService {
|
|||||||
const logHead = this.getInstanceName() + ' pullEvent: ';
|
const logHead = this.getInstanceName() + ' pullEvent: ';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getStartIdx() {
|
||||||
|
return this.lastIdx;
|
||||||
|
}
|
||||||
|
|
||||||
|
getEndIdx() {
|
||||||
|
if (utils.hasKey(DbEventProcess.#tableMaxIdxHash, this.getTableName())) {
|
||||||
|
return DbEventProcess.#tableMaxIdxHash[this.getTableName()];
|
||||||
|
} else {
|
||||||
|
return BigInt(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getNetId() {
|
||||||
|
return this.net['net_id'];
|
||||||
|
}
|
||||||
|
|
||||||
getEventName() {
|
getEventName() {
|
||||||
return this.eventConf['event_name'];
|
return this.eventConf['event_name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
getContractAddress() {
|
getContractAddress() {
|
||||||
//return this.bc.getContractAddressByName(this.getContractName());
|
return this.contractAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
getContractName() {
|
getContractName() {
|
||||||
@ -78,6 +94,65 @@ class DbEventProcess extends BaseService {
|
|||||||
return instName;
|
return instName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getTableName() {
|
||||||
|
return this.eventConf['table_name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
async getLastIdx() {
|
||||||
|
const logHead = this.getInstanceName() + ' getLastIdx: ';
|
||||||
|
while (true) {
|
||||||
|
const {err, row} = await this.conn.ormSelectOne(
|
||||||
|
't_dbprocess_last_idx',
|
||||||
|
[
|
||||||
|
['net_id', this.getNetId()],
|
||||||
|
['contract_address', this.getContractAddress()],
|
||||||
|
['event_name', this.getEventName()],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
if (err) {
|
||||||
|
log.error(logHead + err);
|
||||||
|
await utils.sleep(5000 + utils.randRange(500, 1500));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (row) {
|
||||||
|
return BigInt(row['last_idx']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return BigInt(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
async saveLastIdx(lastIdx) {
|
||||||
|
const logHead = this.getInstanceName() + ' saveLastIdx: ';
|
||||||
|
while (true) {
|
||||||
|
const {err} = await this.conn.upsert(
|
||||||
|
't_dbprocess_last_idx',
|
||||||
|
[
|
||||||
|
['net_id', this.getNetId()],
|
||||||
|
['contract_address', this.getContractAddress()],
|
||||||
|
['event_name', this.getEventName()],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
['last_idx', lastIdx.toString()],
|
||||||
|
['modifytime', utils.getUtcTime()],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
['net_id', this.getNetId()],
|
||||||
|
['contract_address', this.getContractAddress()],
|
||||||
|
['event_name', this.getEventName()],
|
||||||
|
['contract_name', this.getContractName()],
|
||||||
|
['last_idx', lastIdx],
|
||||||
|
['createtime', utils.getUtcTime()],
|
||||||
|
['modifytime', utils.getUtcTime()],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
if (!err) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
log.error(logHead + err);
|
||||||
|
await utils.sleep(5000 + utils.randRange(500, 1500));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = DbEventProcess;
|
module.exports = DbEventProcess;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user