Skip to content

Commit 4646d5a

Browse files
authored
Merge pull request #7 from kryptokrauts/bugfix/control-api
Bugfix/control api
2 parents 0d41023 + 48c14b6 commit 4646d5a

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ node_modules/
33
dist/
44
.lh/
55
lib/
6-
*.tgz
6+
*.tgz
7+
.env_local*

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kryptokrauts/event-processor-node-lib",
3-
"version": "1.0.6",
3+
"version": "1.0.7",
44
"description": "Wrapper for ease listening on antelope blockchain based on @blockmatic/antelope-ship-reader",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

src/control-api.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { control_api_port, getLogger } from './common/config';
44
const api = express();
55
const logger = getLogger('reset-api');
66

7-
export async function startControlApi(reset_handler) {
7+
export async function startControlApi(reset_handler, instance) {
88
api.get('/reset', (request, response) => {
99
const restart_at_block = request.query.blocknum;
1010
const reset_database = request.query.reset_db || false;
@@ -15,7 +15,7 @@ export async function startControlApi(reset_handler) {
1515
logger.info(
1616
`Parameters provided: blocknum: ${restart_at_block}, reset_db: ${reset_database}`,
1717
);
18-
reset_handler(restart_at_block, reset_database);
18+
reset_handler.call(instance, restart_at_block, reset_database);
1919
response
2020
.status(200)
2121
.send(

src/eosio/ship-reader-wrapper.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class ShipReaderWrapper {
6565
logger.info(KAFKA_TOPIC_CONFIG);
6666

6767
// start control api for sending reset message
68-
startControlApi(this.handleExternalReset);
68+
startControlApi(this.handleExternalReset, this);
6969

7070
// connect to kafka and retrieve last processed message data
7171
this.kafka_wrapper = new KafkaWrapper({ header_prefix: this.config.message_header_prefix });
@@ -380,19 +380,25 @@ export class ShipReaderWrapper {
380380
}
381381
}
382382

383+
/**
384+
* send external reset message
385+
* @param restart_at_block
386+
* @param reset_db
387+
*/
383388
private async handleExternalReset(restart_at_block: number, reset_db: boolean) {
384389
try {
385390
logger.warn(`Got external reset event to restart at blockum ${restart_at_block}`);
386391
const resetEvent: string = this.createResetEvent(
387-
'external_restart',
392+
'external_blocknum_reset',
388393
`caused by control api call`,
389394
restart_at_block,
390395
reset_db,
391396
);
392397
resetEvent && (await this.kafka_wrapper.sendEvent(resetEvent, 'reset_event'));
393398
await this.gracefulShutdown();
394-
} finally {
395-
process.kill(process.pid, -1);
399+
} catch (e) {
400+
logger.error(e);
401+
this.sendEventAndEndProcess('handle external reset', e);
396402
}
397403
}
398404
}

0 commit comments

Comments
 (0)