@cryptexlabs/codex-nodejs-common 0.6.1 → 0.6.2
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 +3 -1
- package/lib/src/service/elasticsearch/elasticsearch-healthz.service.js +9 -20
- package/lib/src/service/elasticsearch/elasticsearch-healthz.service.js.map +1 -1
- package/lib/src/service/elasticsearch/elasticsearch.pinger.js +3 -0
- package/lib/src/service/elasticsearch/elasticsearch.pinger.js.map +1 -1
- package/package.json +1 -1
- package/src/service/elasticsearch/elasticsearch-healthz.service.ts +10 -18
- package/src/service/elasticsearch/elasticsearch.pinger.ts +2 -0
package/lib/package.json
CHANGED
|
@@ -2,12 +2,14 @@ import { LoggerService } from "@nestjs/common";
|
|
|
2
2
|
import { DefaultConfig } from "../../config";
|
|
3
3
|
import { ElasticsearchService } from "@nestjs/elasticsearch";
|
|
4
4
|
import { HealthzService } from "../healthz";
|
|
5
|
+
import { ElasticsearchPinger } from "./elasticsearch.pinger";
|
|
5
6
|
export declare class ElasticsearchHealthzService {
|
|
6
7
|
private readonly config;
|
|
7
8
|
private readonly logger;
|
|
8
9
|
private readonly elasticsearchService;
|
|
10
|
+
private readonly elasticsearchPinger;
|
|
9
11
|
private readonly healthzService;
|
|
10
|
-
constructor(config: DefaultConfig, logger: LoggerService, elasticsearchService: ElasticsearchService, healthzService: HealthzService);
|
|
12
|
+
constructor(config: DefaultConfig, logger: LoggerService, elasticsearchService: ElasticsearchService, elasticsearchPinger: ElasticsearchPinger, healthzService: HealthzService);
|
|
11
13
|
start(): Promise<void>;
|
|
12
14
|
waitForHealthy(): Promise<void>;
|
|
13
15
|
private _ping;
|
|
@@ -17,12 +17,13 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const config_1 = require("../../config");
|
|
18
18
|
const elasticsearch_1 = require("@nestjs/elasticsearch");
|
|
19
19
|
const healthz_1 = require("../healthz");
|
|
20
|
-
const
|
|
20
|
+
const elasticsearch_pinger_1 = require("./elasticsearch.pinger");
|
|
21
21
|
let ElasticsearchHealthzService = class ElasticsearchHealthzService {
|
|
22
|
-
constructor(config, logger, elasticsearchService, healthzService) {
|
|
22
|
+
constructor(config, logger, elasticsearchService, elasticsearchPinger, healthzService) {
|
|
23
23
|
this.config = config;
|
|
24
24
|
this.logger = logger;
|
|
25
25
|
this.elasticsearchService = elasticsearchService;
|
|
26
|
+
this.elasticsearchPinger = elasticsearchPinger;
|
|
26
27
|
this.healthzService = healthzService;
|
|
27
28
|
}
|
|
28
29
|
async start() {
|
|
@@ -34,23 +35,9 @@ let ElasticsearchHealthzService = class ElasticsearchHealthzService {
|
|
|
34
35
|
}
|
|
35
36
|
async waitForHealthy() {
|
|
36
37
|
this.logger.log("Waiting for elasticsearch connection", "info");
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (!pingResponse) {
|
|
41
|
-
this.logger.debug("Elasticsearch not available", "debug");
|
|
42
|
-
await util_1.TimeUtil.sleep(1000);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
this.logger.log("Elasticsearch service connected", "info");
|
|
46
|
-
await this.healthzService.makeHealthy(healthz_1.HealthzComponentEnum.DATABASE_ELASTICSEARCH);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
this.logger.debug("Elasticsearch not available", "debug");
|
|
51
|
-
await util_1.TimeUtil.sleep(1000);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
38
|
+
await this.elasticsearchPinger.waitForReady();
|
|
39
|
+
this.logger.log("Elasticsearch service connected", "info");
|
|
40
|
+
await this.healthzService.makeHealthy(healthz_1.HealthzComponentEnum.DATABASE_ELASTICSEARCH);
|
|
54
41
|
}
|
|
55
42
|
async _ping() {
|
|
56
43
|
const success = await this.elasticsearchService.ping();
|
|
@@ -69,8 +56,10 @@ ElasticsearchHealthzService = __decorate([
|
|
|
69
56
|
__param(0, common_1.Inject("CONFIG")),
|
|
70
57
|
__param(1, common_1.Inject("LOGGER")),
|
|
71
58
|
__param(2, common_1.Inject("ELASTICSEARCH_SERVICE")),
|
|
72
|
-
__param(3, common_1.Inject("
|
|
59
|
+
__param(3, common_1.Inject("ELASTICSEARCH_PINGER")),
|
|
60
|
+
__param(4, common_1.Inject("HEALTHZ_SERVICE")),
|
|
73
61
|
__metadata("design:paramtypes", [config_1.DefaultConfig, Object, elasticsearch_1.ElasticsearchService,
|
|
62
|
+
elasticsearch_pinger_1.ElasticsearchPinger,
|
|
74
63
|
healthz_1.HealthzService])
|
|
75
64
|
], ElasticsearchHealthzService);
|
|
76
65
|
exports.ElasticsearchHealthzService = ElasticsearchHealthzService;
|
|
@@ -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;
|
|
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;IACtC,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;IACzE,CAAC;IAEJ,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,8BAAoB,CAAC,sBAAsB,CAC5C,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACpB,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnC,8BAAoB,CAAC,sBAAsB,CAC5C,CAAC;IACJ,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;AA/CY,2BAA2B;IADvC,mBAAU,EAAE;IAGR,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;GARjE,2BAA2B,CA+CvC;AA/CY,kEAA2B"}
|
|
@@ -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;IACtD,CAAC;IAEI,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,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;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,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;
|
|
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;IACtD,CAAC;IAEI,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,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,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AArDY,mBAAmB;IAD/B,mBAAU,EAAE;IASR,WAAA,eAAM,CAAC,uBAAuB,CAAC,CAAA;IAC/B,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;6CAA0B,qBAAY;GAT9C,mBAAmB,CAqD/B;AArDY,kDAAmB"}
|
package/package.json
CHANGED
|
@@ -3,6 +3,7 @@ import { DefaultConfig } from "../../config";
|
|
|
3
3
|
import { ElasticsearchService } from "@nestjs/elasticsearch";
|
|
4
4
|
import { HealthzComponentEnum, HealthzService } from "../healthz";
|
|
5
5
|
import { TimeUtil } from "../../util";
|
|
6
|
+
import { ElasticsearchPinger } from "./elasticsearch.pinger";
|
|
6
7
|
|
|
7
8
|
@Injectable()
|
|
8
9
|
export class ElasticsearchHealthzService {
|
|
@@ -11,6 +12,8 @@ export class ElasticsearchHealthzService {
|
|
|
11
12
|
@Inject("LOGGER") private readonly logger: LoggerService,
|
|
12
13
|
@Inject("ELASTICSEARCH_SERVICE")
|
|
13
14
|
private readonly elasticsearchService: ElasticsearchService,
|
|
15
|
+
@Inject("ELASTICSEARCH_PINGER")
|
|
16
|
+
private readonly elasticsearchPinger: ElasticsearchPinger,
|
|
14
17
|
@Inject("HEALTHZ_SERVICE") private readonly healthzService: HealthzService
|
|
15
18
|
) {}
|
|
16
19
|
|
|
@@ -26,25 +29,14 @@ export class ElasticsearchHealthzService {
|
|
|
26
29
|
|
|
27
30
|
async waitForHealthy(): Promise<void> {
|
|
28
31
|
this.logger.log("Waiting for elasticsearch connection", "info");
|
|
29
|
-
while (true) {
|
|
30
|
-
try {
|
|
31
|
-
const pingResponse = await this.elasticsearchService.ping();
|
|
32
|
-
if (!pingResponse) {
|
|
33
|
-
this.logger.debug("Elasticsearch not available", "debug");
|
|
34
|
-
await TimeUtil.sleep(1000);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
await TimeUtil.sleep(1000);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
33
|
+
await this.elasticsearchPinger.waitForReady();
|
|
34
|
+
|
|
35
|
+
this.logger.log("Elasticsearch service connected", "info");
|
|
36
|
+
|
|
37
|
+
await this.healthzService.makeHealthy(
|
|
38
|
+
HealthzComponentEnum.DATABASE_ELASTICSEARCH
|
|
39
|
+
);
|
|
48
40
|
}
|
|
49
41
|
|
|
50
42
|
private async _ping() {
|