1 | import { BaseServiceModule } from './BaseServiceModule';
|
2 | import { RegisteredService } from './RegisteredService';
|
3 | import { RunningStatus } from "./RunningStatus";
|
4 | import * as Emitter from 'component-emitter';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | export declare class BaseServicesManager extends Emitter {
|
13 | private static _servicesManagerCreated;
|
14 | |
15 |
|
16 |
|
17 |
|
18 |
|
19 | readonly services: Map<string, RegisteredService>;
|
20 | |
21 |
|
22 |
|
23 | readonly status: RunningStatus;
|
24 | private _status;
|
25 | |
26 |
|
27 |
|
28 | readonly name: string;
|
29 | constructor();
|
30 | /**
|
31 | * 启动所有注册的服务。按照注册的先后顺序来启动服务。先注册的服务先启动。
|
32 | * 如果启动过程中某个服务出现异常,则后面的服务将不再被启动,之前启动过了的服务也会被依次关闭(按照从后向前的顺序关闭)。
|
33 | * 启动结束后会触发started事件
|
34 | */
|
35 | start(): void;
|
36 | /**
|
37 | * 关闭所有已启动的服务。先注册的服务最后被关闭。
|
38 | * 当所有服务都停止后出发stopped事件
|
39 | *
|
40 | * @param exitCode 程序退出状态码。0正常退出 1是系统错误 2用户服务错误
|
41 | */
|
42 | stop(exitCode?: number): void;
|
43 | /**
|
44 | * 进行健康检查。
|
45 | * 注意:如果程序的运行状态为starting,stopping,stopped,则直接将程序的运行视为健康。只有当运行状态为running时才进行健康检查。
|
46 | * 返回 isHealth 表示是否健康 description对当前状态的额外描述
|
47 | *
|
48 | * @returns {Promise<{ isHealth: boolean, description: string }>}
|
49 | * @memberof BaseServicesManager
|
50 | */
|
51 | healthCheck(): Promise<{
|
52 | isHealth: boolean;
|
53 | description: string;
|
54 | }>;
|
55 | |
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 | onError(errName: string | undefined, err: Error, service: BaseServiceModule): void;
|
65 | |
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 | onUnHandledException(err: Error): void;
|
72 | |
73 |
|
74 |
|
75 |
|
76 |
|
77 |
|
78 | registerService(serviceModule: BaseServiceModule): void;
|
79 | |
80 |
|
81 |
|
82 | on(event: 'started', listener: () => any): this;
|
83 | |
84 |
|
85 |
|
86 |
|
87 | on(event: 'stopped', listener: (code: number) => any): this;
|
88 | once(event: 'started', listener: () => any): this;
|
89 | once(event: 'stopped', listener: (code: number) => any): this;
|
90 | }
|