1 | #!/usr/bin/env node
|
2 | "use strict";
|
3 | Object.defineProperty(exports, "__esModule", { value: true });
|
4 | require('source-map-support').install();
|
5 | const app_1 = require("./app");
|
6 | exports.createApp = app_1.default;
|
7 | const log_1 = require("./common/log");
|
8 | const log = log_1.create('app');
|
9 | if (!module.parent) {
|
10 | const connector = app_1.default();
|
11 | connector.listen()
|
12 | .catch((err) => {
|
13 | const errInfo = (err && typeof err === 'object' && err.stack) ? err.stack : err;
|
14 | log.error(errInfo);
|
15 | });
|
16 | let shuttingDown = false;
|
17 | process.on('SIGINT', async () => {
|
18 | try {
|
19 | if (shuttingDown) {
|
20 | log.warn('received second SIGINT during graceful shutdown, exiting forcefully.');
|
21 | process.exit(1);
|
22 | return;
|
23 | }
|
24 | shuttingDown = true;
|
25 | log.debug('shutting down.');
|
26 | await connector.shutdown();
|
27 | log.debug('completed graceful shutdown.');
|
28 | process.exit(0);
|
29 | }
|
30 | catch (err) {
|
31 | const errInfo = (err && typeof err === 'object' && err.stack) ? err.stack : err;
|
32 | log.error('error while shutting down. error=%s', errInfo);
|
33 | process.exit(1);
|
34 | }
|
35 | });
|
36 | }
|
37 |
|
\ | No newline at end of file |