1 |
|
2 | export declare const HEALTH_CHECK_GROUP = "inceptum:health";
|
3 | export declare function RegisterAsHealthCheck(target: any): void;
|
4 | export declare enum HealthCheckStatus {
|
5 | OK = "OK",
|
6 | NOT_READY = "NOT_READY",
|
7 | WARNING = "WARNING",
|
8 | CRITICAL = "CRITICAL",
|
9 | STOPPING = "STOPPING",
|
10 | }
|
11 | export declare enum HealthCheckType {
|
12 | CONTEXT = 0,
|
13 | DEPENDENCY = 1,
|
14 | GROUP = 2,
|
15 | }
|
16 | export declare class HealthCheckResult {
|
17 | status: HealthCheckStatus;
|
18 | message: string;
|
19 | data: any;
|
20 | timestamp: number;
|
21 | constructor(status: HealthCheckStatus, message: string, timestamp?: number, data?: any);
|
22 | static getInitialResult(): HealthCheckResult;
|
23 | static staleResult(healthCheck: HealthCheck, lastResult: HealthCheckResult): HealthCheckResult;
|
24 | }
|
25 | export declare abstract class HealthCheck {
|
26 | checkName: string;
|
27 | sleepMillis: number;
|
28 | staleNumFails: number;
|
29 | private runImmediately;
|
30 | started: boolean;
|
31 | lastResult: HealthCheckResult;
|
32 | timer: NodeJS.Timer;
|
33 | checkRunning: boolean;
|
34 | constructor(checkName: string, sleepMillis?: number, staleNumFails?: number, runImmediately?: boolean);
|
35 | abstract getType(): HealthCheckType;
|
36 | getCheckName(): string;
|
37 | getSleepMillis(): number;
|
38 | start(): void;
|
39 | runCheck(): Promise<void>;
|
40 | doStart(): void;
|
41 | stop(): void;
|
42 | doStop(): void;
|
43 | isStarted(): boolean;
|
44 | abstract doCheck(): Promise<HealthCheckResult>;
|
45 | getLastResult(): HealthCheckResult;
|
46 | }
|
47 | export declare class HealthCheckGroup extends HealthCheck {
|
48 | groupKey: string;
|
49 | healthChecks: Map<string, HealthCheck>;
|
50 | constructor(groupName: string);
|
51 | addCheck(healthCheck: HealthCheck, asName?: string): void;
|
52 | addCheckAs(healthCheck: HealthCheck, asName: string): void;
|
53 | doStart(): void;
|
54 | doStop(): void;
|
55 | doCheck(): Promise<HealthCheckResult>;
|
56 | getLastResult(): HealthCheckResult;
|
57 | /**
|
58 | * Ignore dependencies CRITICAL status. It is not considered
|
59 | * to be part of App's health.
|
60 | */
|
61 | protected ignoreHealthCheckStatus(hc: HealthCheck, status: HealthCheckStatus): boolean;
|
62 | getType(): HealthCheckType;
|
63 | }
|