1
This commit is contained in:
parent
ff8b6b6c13
commit
ea4d0d422f
78
server/web3bcspider/tasks/bcrefresh.js
Normal file
78
server/web3bcspider/tasks/bcrefresh.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
const app = require('j7/app');
|
||||||
|
const utils = require('j7/utils');
|
||||||
|
const bcutils = require('j7/bcutils');
|
||||||
|
const log = require('j7/log');
|
||||||
|
const BaseTask = require('./basetask');
|
||||||
|
const factory = require('./factory');
|
||||||
|
const serviceFactory = require('../services/factory');
|
||||||
|
const metaFactory = require('../metadata/factory');
|
||||||
|
|
||||||
|
class BcSpider extends BaseTask {
|
||||||
|
|
||||||
|
async init() {
|
||||||
|
const netList = metaFactory.getNetList();
|
||||||
|
netList.forEach
|
||||||
|
(
|
||||||
|
(net) => {
|
||||||
|
this.initNet(net);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async initNet(net) {
|
||||||
|
const events = [];
|
||||||
|
net['Events'].forEach
|
||||||
|
(
|
||||||
|
(eventConf) => {
|
||||||
|
const event = {
|
||||||
|
'eventConf': eventConf,
|
||||||
|
'progressInfo': {
|
||||||
|
'pullCount': 0,
|
||||||
|
'eventCount': 0,
|
||||||
|
'fromBlock': 0,
|
||||||
|
'toBlock': 0,
|
||||||
|
'currBlock': 0
|
||||||
|
}
|
||||||
|
};
|
||||||
|
events.push(event);
|
||||||
|
this.createPullBcEventService(net, event);
|
||||||
|
});
|
||||||
|
this.outputProgressInfo(net, events);
|
||||||
|
}
|
||||||
|
|
||||||
|
createPullBcEventService(net, event) {
|
||||||
|
const bc = serviceFactory.create('BlockChain');
|
||||||
|
bc.init(net['net_id']);
|
||||||
|
const pullBcEventService = serviceFactory.create('PullBcEvent');
|
||||||
|
event['pullBcEventService'] = pullBcEventService;
|
||||||
|
pullBcEventService.init(bc, net, event);
|
||||||
|
return pullBcEventService;
|
||||||
|
}
|
||||||
|
|
||||||
|
async outputProgressInfo(net, events) {
|
||||||
|
let count = 0;
|
||||||
|
while (true) {
|
||||||
|
log.info('----------------------------------------------------------');
|
||||||
|
events.forEach
|
||||||
|
(
|
||||||
|
(event) => {
|
||||||
|
const eventConf = event['eventConf'];
|
||||||
|
const progInfo = event['progressInfo'];
|
||||||
|
const logObj = 'net_id: ' + net['net_id'] + ' ' +
|
||||||
|
eventConf['contract_name'] + '.' +
|
||||||
|
eventConf['event_name'] + ' ' +
|
||||||
|
' pullCount:' + progInfo['pullCount'] +
|
||||||
|
' eventCount:' + progInfo['eventCount'] +
|
||||||
|
' fromBlock:' + progInfo['fromBlock'] +
|
||||||
|
' toBlock:' + progInfo['toBlock'] +
|
||||||
|
' currBlock:' + progInfo['currBlock']
|
||||||
|
;
|
||||||
|
log.info(logObj);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
await utils.sleep(1000 * 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = BcSpider;
|
@ -15,13 +15,13 @@ function add(clsNames, modName) {
|
|||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
add(['BcSpider'], 'bcspider');
|
add(['BcSpider'], 'bcspider');
|
||||||
|
add(['BcRefresh'], 'bcrefresh');
|
||||||
const initTasks = [
|
const initTasks = [
|
||||||
'BcSpider'
|
'BcSpider',
|
||||||
|
'BcRefresh'
|
||||||
];
|
];
|
||||||
await utils.serial(
|
await utils.serial(
|
||||||
[
|
initTasks,
|
||||||
'BcSpider'
|
|
||||||
],
|
|
||||||
async (name) =>
|
async (name) =>
|
||||||
{
|
{
|
||||||
const task = create(name);
|
const task = create(name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user