@pulse-si/nest 0.0.1 → 0.0.3

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.
@@ -8,10 +8,13 @@ export declare class PulseService implements OnApplicationBootstrap, OnApplicati
8
8
  private readonly moduleRef;
9
9
  private readonly logger;
10
10
  readonly reporter: PulseReporter;
11
+ private readonly detection;
12
+ private rescan?;
11
13
  constructor(options: PulseNestOptions, discovery: DiscoveryService, moduleRef: ModuleRef);
12
14
  onApplicationBootstrap(): void;
13
15
  onApplicationShutdown(): void;
14
16
  addProbe(probe: Probe): void;
17
+ private detect;
15
18
  track<T>(cronName: string, task: () => Promise<T>): Promise<T>;
16
19
  private watchCrons;
17
20
  private schedulerRegistry;
@@ -18,12 +18,15 @@ const common_1 = require("@nestjs/common");
18
18
  const core_1 = require("@nestjs/core");
19
19
  const core_2 = require("@pulse-si/core");
20
20
  const pulse_options_1 = require("./pulse.options");
21
+ const RESCAN_EVERY_MS = 60_000;
21
22
  let PulseService = class PulseService {
22
23
  options;
23
24
  discovery;
24
25
  moduleRef;
25
26
  logger = new common_1.Logger('Pulse');
26
27
  reporter;
28
+ detection = (0, core_2.newDetectionState)();
29
+ rescan;
27
30
  constructor(options, discovery, moduleRef) {
28
31
  this.options = options;
29
32
  this.discovery = discovery;
@@ -44,19 +47,24 @@ let PulseService = class PulseService {
44
47
  for (const probe of this.options.probes ?? [])
45
48
  this.reporter.addProbe(probe);
46
49
  if (this.options.autoDetect !== false) {
47
- const instances = this.discovery.getProviders().map((wrapper) => wrapper.instance);
48
- for (const probe of (0, core_2.detectProbes)(instances))
49
- this.reporter.addProbe(probe);
50
+ this.detect();
51
+ this.rescan = setInterval(() => this.detect(), RESCAN_EVERY_MS).unref();
50
52
  this.watchCrons();
51
53
  }
52
54
  this.reporter.start();
53
55
  }
54
56
  onApplicationShutdown() {
57
+ clearInterval(this.rescan);
55
58
  this.reporter.stop();
56
59
  }
57
60
  addProbe(probe) {
58
61
  this.reporter.addProbe(probe);
59
62
  }
63
+ detect() {
64
+ const instances = this.discovery.getProviders().map((wrapper) => wrapper.instance);
65
+ for (const probe of (0, core_2.detectProbes)(instances, this.detection))
66
+ this.reporter.addProbe(probe);
67
+ }
60
68
  async track(cronName, task) {
61
69
  try {
62
70
  const result = await task();
@@ -1 +1 @@
1
- {"version":3,"file":"pulse.service.js","sourceRoot":"","sources":["../src/pulse.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pulse.service.js","sourceRoot":"","sources":["../src/pulse.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulse-si/nest",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Surveillance Pulse pour NestJS : signal de vie, base de données, Redis, files et tâches planifiées détectés tout seuls.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -39,7 +39,7 @@
39
39
  "rxjs": "^7.8.2"
40
40
  },
41
41
  "dependencies": {
42
- "@pulse-si/core": "^0.0.1"
42
+ "@pulse-si/core": "^0.0.3"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@nestjs/common": ">=10 <13",