@cryptexlabs/codex-nodejs-common 0.6.3 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/package.json +1 -1
- package/lib/src/service/elasticsearch/elasticsearch-healthz.service.d.ts +2 -0
- package/lib/src/service/elasticsearch/elasticsearch-healthz.service.js +21 -9
- package/lib/src/service/elasticsearch/elasticsearch-healthz.service.js.map +1 -1
- package/lib/src/service/elasticsearch/elasticsearch.initializer.d.ts +1 -0
- package/lib/src/service/elasticsearch/elasticsearch.initializer.js +5 -0
- package/lib/src/service/elasticsearch/elasticsearch.initializer.js.map +1 -1
- package/lib/src/service/elasticsearch/elasticsearch.pinger.js +2 -1
- package/lib/src/service/elasticsearch/elasticsearch.pinger.js.map +1 -1
- package/package.json +1 -1
- package/src/service/elasticsearch/elasticsearch-healthz.service.ts +25 -13
- package/src/service/elasticsearch/elasticsearch.initializer.ts +6 -0
- package/src/service/elasticsearch/elasticsearch.pinger.ts +2 -1
package/lib/package.json
CHANGED
|
@@ -9,6 +9,8 @@ export declare class ElasticsearchHealthzService {
|
|
|
9
9
|
private readonly elasticsearchService;
|
|
10
10
|
private readonly elasticsearchPinger;
|
|
11
11
|
private readonly healthzService;
|
|
12
|
+
private isWaitingForHealthy;
|
|
13
|
+
private isStarted;
|
|
12
14
|
constructor(config: DefaultConfig, logger: LoggerService, elasticsearchService: ElasticsearchService, elasticsearchPinger: ElasticsearchPinger, healthzService: HealthzService);
|
|
13
15
|
start(): Promise<void>;
|
|
14
16
|
waitForHealthy(): Promise<void>;
|
|
@@ -25,19 +25,31 @@ let ElasticsearchHealthzService = class ElasticsearchHealthzService {
|
|
|
25
25
|
this.elasticsearchService = elasticsearchService;
|
|
26
26
|
this.elasticsearchPinger = elasticsearchPinger;
|
|
27
27
|
this.healthzService = healthzService;
|
|
28
|
+
this.isWaitingForHealthy = false;
|
|
29
|
+
this.isStarted = false;
|
|
28
30
|
}
|
|
29
31
|
async start() {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this._ping();
|
|
34
|
-
|
|
32
|
+
if (!this.isStarted) {
|
|
33
|
+
this.isStarted = true;
|
|
34
|
+
await this.healthzService.makeUnhealthy(healthz_1.HealthzComponentEnum.DATABASE_ELASTICSEARCH);
|
|
35
|
+
this._ping().then();
|
|
36
|
+
setInterval(() => {
|
|
37
|
+
this._ping();
|
|
38
|
+
}, this.config.elasticsearch.pingIntervalSeconds * 1000);
|
|
39
|
+
}
|
|
35
40
|
}
|
|
36
41
|
async waitForHealthy() {
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
if (!this.isWaitingForHealthy) {
|
|
43
|
+
this.isWaitingForHealthy = true;
|
|
44
|
+
this.logger.log("Waiting for elasticsearch connection", "info");
|
|
45
|
+
await this.elasticsearchPinger.waitForReady();
|
|
46
|
+
this.logger.log("Elasticsearch service connected", "info");
|
|
47
|
+
await this.healthzService.makeHealthy(healthz_1.HealthzComponentEnum.DATABASE_ELASTICSEARCH);
|
|
48
|
+
this.isWaitingForHealthy = false;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
await this.elasticsearchPinger.waitForReady();
|
|
52
|
+
}
|
|
41
53
|
}
|
|
42
54
|
async _ping() {
|
|
43
55
|
const success = await this.elasticsearchService.ping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elasticsearch-healthz.service.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch-healthz.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,yCAA6C;AAC7C,yDAA6D;AAC7D,wCAAkE;AAElE,iEAA6D;AAG7D,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;
|
|
1
|
+
{"version":3,"file":"elasticsearch-healthz.service.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch-healthz.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,yCAA6C;AAC7C,yDAA6D;AAC7D,wCAAkE;AAElE,iEAA6D;AAG7D,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAItC,YACqC,MAAqB,EACrB,MAAqB,EAEvC,oBAA0C,EAE1C,mBAAwC,EACb,cAA8B;QANvC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAe;QAEvC,yBAAoB,GAApB,oBAAoB,CAAsB;QAE1C,wBAAmB,GAAnB,mBAAmB,CAAqB;QACb,mBAAc,GAAd,cAAc,CAAgB;QAVpE,wBAAmB,GAAY,KAAK,CAAC;QAErC,cAAS,GAAY,KAAK,CAAC;IAShC,CAAC;IAEJ,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,8BAAoB,CAAC,sBAAsB,CAC5C,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;YACpB,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;YAEhE,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;YAE3D,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnC,8BAAoB,CAAC,sBAAsB,CAC5C,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;aAAM;YACL,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;SAC/C;IACH,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnC,8BAAoB,CAAC,sBAAsB,CAC5C,CAAC;SACH;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,8BAAoB,CAAC,sBAAsB,CAC5C,CAAC;SACH;IACH,CAAC;CACF,CAAA;AA3DY,2BAA2B;IADvC,mBAAU,EAAE;IAMR,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,eAAM,CAAC,uBAAuB,CAAC,CAAA;IAE/B,WAAA,eAAM,CAAC,sBAAsB,CAAC,CAAA;IAE9B,WAAA,eAAM,CAAC,iBAAiB,CAAC,CAAA;qCANiB,sBAAa,UAGjB,oCAAoB;QAErB,0CAAmB;QACG,wBAAc;GAXjE,2BAA2B,CA2DvC;AA3DY,kEAA2B"}
|
|
@@ -8,6 +8,7 @@ export declare class ElasticsearchInitializer {
|
|
|
8
8
|
private readonly indexProperties;
|
|
9
9
|
private readonly elasticsearchPinger;
|
|
10
10
|
private readonly type?;
|
|
11
|
+
private _indexInitialized;
|
|
11
12
|
constructor(logger: CustomLogger, index: string, elasticsearchService: ElasticsearchService, indexProperties: any, elasticsearchPinger: ElasticsearchPinger, type?: string);
|
|
12
13
|
private _createIndex;
|
|
13
14
|
private _getIndexExists;
|
|
@@ -9,6 +9,7 @@ class ElasticsearchInitializer {
|
|
|
9
9
|
this.indexProperties = indexProperties;
|
|
10
10
|
this.elasticsearchPinger = elasticsearchPinger;
|
|
11
11
|
this.type = type;
|
|
12
|
+
this._indexInitialized = false;
|
|
12
13
|
}
|
|
13
14
|
async _createIndex() {
|
|
14
15
|
await this.elasticsearchService.indices.create({
|
|
@@ -22,6 +23,10 @@ class ElasticsearchInitializer {
|
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
25
|
async initializeIndex() {
|
|
26
|
+
if (this._indexInitialized) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this._indexInitialized = true;
|
|
25
30
|
await this.elasticsearchPinger.waitForReady();
|
|
26
31
|
const exists = await this._getIndexExists();
|
|
27
32
|
if (!exists) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elasticsearch.initializer.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch.initializer.ts"],"names":[],"mappings":";;;AAKA,MAAa,wBAAwB;
|
|
1
|
+
{"version":3,"file":"elasticsearch.initializer.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch.initializer.ts"],"names":[],"mappings":";;;AAKA,MAAa,wBAAwB;IAGnC,YACmB,MAAoB,EACpB,KAAa,EACb,oBAA0C,EAC1C,eAAoB,EAEpB,mBAAwC,EAExC,IAAa;QAPb,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAQ;QACb,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,oBAAe,GAAf,eAAe,CAAK;QAEpB,wBAAmB,GAAnB,mBAAmB,CAAqB;QAExC,SAAI,GAAJ,IAAI,CAAS;QAVxB,sBAAiB,GAAY,KAAK,CAAC;IAWxC,CAAC;IAEI,KAAK,CAAC,YAAY;QACxB,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC;YACpD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;QAED,IAAI,MAAM,GAAQ;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE;gBACJ,UAAU,EAAE,IAAI,CAAC,eAAe;aACjC;SACF,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,mCACD,MAAM,KACT,IAAI,EAAE,IAAI,CAAC,IAAI,GAChB,CAAC;SACH;QACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;CACF;AArDD,4DAqDC"}
|
|
@@ -31,7 +31,7 @@ let ElasticsearchPinger = class ElasticsearchPinger {
|
|
|
31
31
|
this.logger.debug("Starting new ES pinger");
|
|
32
32
|
this.intervalId = setInterval(async () => {
|
|
33
33
|
this.logger.info("Waiting for elasticsearch");
|
|
34
|
-
this.ready =
|
|
34
|
+
this.ready = await this._isReady();
|
|
35
35
|
if (this.ready) {
|
|
36
36
|
clearInterval(this.intervalId);
|
|
37
37
|
this.intervalId = null;
|
|
@@ -61,6 +61,7 @@ let ElasticsearchPinger = class ElasticsearchPinger {
|
|
|
61
61
|
resolve(result);
|
|
62
62
|
}
|
|
63
63
|
catch (e) {
|
|
64
|
+
this.logger.error(e.message, e.trace);
|
|
64
65
|
resolve(false);
|
|
65
66
|
}
|
|
66
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elasticsearch.pinger.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch.pinger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yCAA4C;AAG5C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAO9B,YACoD,oBAAoB,EACnC,MAAoB;QADL,yBAAoB,GAApB,oBAAoB,CAAA;QACnC,WAAM,GAAN,MAAM,CAAc;QAEvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"elasticsearch.pinger.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch.pinger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yCAA4C;AAG5C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAO9B,YACoD,oBAAoB,EACnC,MAAoB;QADL,yBAAoB,GAApB,oBAAoB,CAAA;QACnC,WAAM,GAAN,MAAM,CAAc;QAEvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;aAC3D;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1B,OAAO,CAAC,SAAS,CAAC,CAAC;iBACpB;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBACtD,OAAO,CAAC,MAAM,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA3DY,mBAAmB;IAD/B,mBAAU,EAAE;IASR,WAAA,eAAM,CAAC,uBAAuB,CAAC,CAAA;IAC/B,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;6CAA0B,qBAAY;GAT9C,mBAAmB,CA2D/B;AA3DY,kDAAmB"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,9 @@ import { ElasticsearchPinger } from "./elasticsearch.pinger";
|
|
|
7
7
|
|
|
8
8
|
@Injectable()
|
|
9
9
|
export class ElasticsearchHealthzService {
|
|
10
|
+
private isWaitingForHealthy: boolean = false;
|
|
11
|
+
|
|
12
|
+
private isStarted: boolean = false;
|
|
10
13
|
constructor(
|
|
11
14
|
@Inject("CONFIG") private readonly config: DefaultConfig,
|
|
12
15
|
@Inject("LOGGER") private readonly logger: LoggerService,
|
|
@@ -18,25 +21,34 @@ export class ElasticsearchHealthzService {
|
|
|
18
21
|
) {}
|
|
19
22
|
|
|
20
23
|
async start() {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this._ping();
|
|
27
|
-
|
|
24
|
+
if (!this.isStarted) {
|
|
25
|
+
this.isStarted = true;
|
|
26
|
+
await this.healthzService.makeUnhealthy(
|
|
27
|
+
HealthzComponentEnum.DATABASE_ELASTICSEARCH
|
|
28
|
+
);
|
|
29
|
+
this._ping().then();
|
|
30
|
+
setInterval(() => {
|
|
31
|
+
this._ping();
|
|
32
|
+
}, this.config.elasticsearch.pingIntervalSeconds * 1000);
|
|
33
|
+
}
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
async waitForHealthy(): Promise<void> {
|
|
31
|
-
this.
|
|
37
|
+
if (!this.isWaitingForHealthy) {
|
|
38
|
+
this.isWaitingForHealthy = true;
|
|
39
|
+
this.logger.log("Waiting for elasticsearch connection", "info");
|
|
32
40
|
|
|
33
|
-
|
|
41
|
+
await this.elasticsearchPinger.waitForReady();
|
|
34
42
|
|
|
35
|
-
|
|
43
|
+
this.logger.log("Elasticsearch service connected", "info");
|
|
36
44
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
await this.healthzService.makeHealthy(
|
|
46
|
+
HealthzComponentEnum.DATABASE_ELASTICSEARCH
|
|
47
|
+
);
|
|
48
|
+
this.isWaitingForHealthy = false;
|
|
49
|
+
} else {
|
|
50
|
+
await this.elasticsearchPinger.waitForReady();
|
|
51
|
+
}
|
|
40
52
|
}
|
|
41
53
|
|
|
42
54
|
private async _ping() {
|
|
@@ -4,6 +4,8 @@ import { HttpStatus } from "@nestjs/common";
|
|
|
4
4
|
import { ElasticsearchPinger } from "./elasticsearch.pinger";
|
|
5
5
|
|
|
6
6
|
export class ElasticsearchInitializer {
|
|
7
|
+
private _indexInitialized: boolean = false;
|
|
8
|
+
|
|
7
9
|
constructor(
|
|
8
10
|
private readonly logger: CustomLogger,
|
|
9
11
|
private readonly index: string,
|
|
@@ -29,6 +31,10 @@ export class ElasticsearchInitializer {
|
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
async initializeIndex() {
|
|
34
|
+
if (this._indexInitialized) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this._indexInitialized = true;
|
|
32
38
|
await this.elasticsearchPinger.waitForReady();
|
|
33
39
|
|
|
34
40
|
const exists = await this._getIndexExists();
|
|
@@ -26,7 +26,7 @@ export class ElasticsearchPinger {
|
|
|
26
26
|
this.logger.debug("Starting new ES pinger");
|
|
27
27
|
this.intervalId = setInterval(async () => {
|
|
28
28
|
this.logger.info("Waiting for elasticsearch");
|
|
29
|
-
this.ready =
|
|
29
|
+
this.ready = await this._isReady();
|
|
30
30
|
if (this.ready) {
|
|
31
31
|
clearInterval(this.intervalId);
|
|
32
32
|
this.intervalId = null;
|
|
@@ -56,6 +56,7 @@ export class ElasticsearchPinger {
|
|
|
56
56
|
const result = await this.elasticsearchService.ping();
|
|
57
57
|
resolve(result);
|
|
58
58
|
} catch (e) {
|
|
59
|
+
this.logger.error(e.message, e.trace);
|
|
59
60
|
resolve(false);
|
|
60
61
|
}
|
|
61
62
|
});
|