diff --git a/server/web3dbspider/services/dbevent_process.js b/server/web3dbspider/services/dbevent_process.js index c560075..29a0bbf 100644 --- a/server/web3dbspider/services/dbevent_process.js +++ b/server/web3dbspider/services/dbevent_process.js @@ -218,7 +218,11 @@ class DbEventProcess extends BaseService { return false; } const handle = eventsFactory.createEventHandle(this, this.conn, row); - await handle.start(); + try { + await handle.start(); + } finally { + await handle.safeRelease(); + } return true; } diff --git a/server/web3dbspider/services/events/common/BaseEventProcess.js b/server/web3dbspider/services/events/common/BaseEventProcess.js index ea12c7a..703d92e 100644 --- a/server/web3dbspider/services/events/common/BaseEventProcess.js +++ b/server/web3dbspider/services/events/common/BaseEventProcess.js @@ -14,6 +14,17 @@ class BaseEventProcess { this.conn = conn; this.eventDb = eventDb; this.returnValues = utils.jsonDecode(this.getEventDb()['return_values']); + this.bcEventConn = null; + this.bcNftConn = null; + this.gameConn = null; + } + + async safeRelease() { + try { + + } catch (err) { + + } } genLogHead(msg) { @@ -130,6 +141,23 @@ class BaseEventProcess { } } + async bcEventDbConn(method, ...args) { + const conn = await this.getMarketDb(); + const ret = await conn[method](...args); + if (ret.err){ + this.throwError(500, 'internal error'); + log.error(ret.err); + return; + } + if (utils.hasKey(ret, 'row')) { + return ret['row']; + } else if (utils.hasKey(ret, 'rows')) { + return ret['rows']; + } else { + return null; + } + } + } module.exports = BaseEventProcess; diff --git a/third_party/j7 b/third_party/j7 index 22eef8b..ce576bd 160000 --- a/third_party/j7 +++ b/third_party/j7 @@ -1 +1 @@ -Subproject commit 22eef8b27c64e0970dc96e96496b51bffc42c7c8 +Subproject commit ce576bd6ff46b5ce4836d786a7670f545916665f