UNPKG

1.6 kBTypeScriptView Raw
1import { ServiceModule } from "../ServiceModule/ServiceModule";
2import { ServicesManager } from "../ServicesManager/ServicesManager";
3import { RunningStatus } from "../RunningStatus";
4/**
5 * 对注册了的服务进行一层封装,便于ServicesManager使用。
6 * 对于注册服务的生命周期进行管理。
7 *
8 * @class RegisteredService
9 */
10export declare class RegisteredService {
11 /**
12 * 保存对服务管理器的引用
13 */
14 private readonly _manager;
15 /**
16 * 绑定在服务上的错误监听器。
17 *
18 * @type {Function}
19 */
20 private readonly _errorListener;
21 /**
22 * 服务实例
23 *
24 * @type {ServiceModule}
25 */
26 readonly service: ServiceModule;
27 /**
28 * 服务的运行状态
29 */
30 readonly status: RunningStatus;
31 private _status;
32 constructor(service: ServiceModule, manager: ServicesManager);
33 /**
34 * 启动服务。成功返回void,失败返回Error。
35 * 如果抛出异常则一定是该程序内部逻辑错误
36 * 这个方法仅供内部使用。
37 *
38 * @returns {Promise<Error | void>}
39 */
40 _start(): Promise<Error | void>;
41 /**
42 * 停止服务。
43 * 如果抛出异常则一定是该程序内部逻辑错误
44 * 这个方法仅供内部使用。
45 */
46 _stop(): Promise<void>;
47 /**
48 * 健康检查。
49 * 如果抛出异常则一定是该程序内部逻辑错误
50 * 这个方法仅供内部使用。
51 *
52 * @returns {(Promise<Error | void>)} 健康检查出现的错误
53 */
54 _healthCheck(): Promise<Error | void>;
55}