@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -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 util_1 = require("../../util");
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
- while (true) {
38
- try {
39
- const pingResponse = await this.elasticsearchService.ping();
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("HEALTHZ_SERVICE")),
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;AAClE,qCAAsC;AAGtC,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IACtC,YACqC,MAAqB,EACrB,MAAqB,EAEvC,oBAA0C,EACf,cAA8B;QAJvC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAe;QAEvC,yBAAoB,GAApB,oBAAoB,CAAsB;QACf,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;QAChE,OAAO,IAAI,EAAE;YACX,IAAI;gBACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBAC5D,IAAI,CAAC,YAAY,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;oBAC1D,MAAM,eAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO;iBACR;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnC,8BAAoB,CAAC,sBAAsB,CAC5C,CAAC;gBACF,OAAO;aACR;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,eAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;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;AAxDY,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,iBAAiB,CAAC,CAAA;qCAJiB,sBAAa,UAGjB,oCAAoB;QACC,wBAAc;GANjE,2BAA2B,CAwDvC;AAxDY,kEAA2B"}
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"}
@@ -32,6 +32,9 @@ let ElasticsearchPinger = class ElasticsearchPinger {
32
32
  clearInterval(this.intervalId);
33
33
  this.intervalId = null;
34
34
  }
35
+ else {
36
+ this.logger.debug("Elasticsearch not available", "debug");
37
+ }
35
38
  }, 1000);
36
39
  }
37
40
  async waitForReady() {
@@ -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;AAnDY,mBAAmB;IAD/B,mBAAU,EAAE;IASR,WAAA,eAAM,CAAC,uBAAuB,CAAC,CAAA;IAC/B,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;6CAA0B,qBAAY;GAT9C,mBAAmB,CAmD/B;AAnDY,kDAAmB"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -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
- this.logger.log("Elasticsearch service connected", "info");
39
- await this.healthzService.makeHealthy(
40
- HealthzComponentEnum.DATABASE_ELASTICSEARCH
41
- );
42
- return;
43
- } catch (e) {
44
- this.logger.debug("Elasticsearch not available", "debug");
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() {
@@ -25,6 +25,8 @@ export class ElasticsearchPinger {
25
25
  if (this.ready) {
26
26
  clearInterval(this.intervalId);
27
27
  this.intervalId = null;
28
+ } else {
29
+ this.logger.debug("Elasticsearch not available", "debug");
28
30
  }
29
31
  }, 1000);
30
32
  }