UNPKG

ts-api-core

Version:

Nodejs api framework core

33 lines (32 loc) 1.55 kB
import { SaveLogger } from '../base/logger'; import { BaseObject } from '../context/base.object'; import { RequestContext } from '../context/request.context'; import { LogLevel } from '../model/log.leval'; /** 后台服务基类 */ export declare class BackupServer<CONTEXT extends RequestContext> extends BaseObject<CONTEXT> { protected readonly name: string; protected readonly delayTime: number; protected readonly intervalTime: number; protected readonly executeTask?: ((server: BackupServer<CONTEXT>) => Promise<void>) | undefined; private readonly onStop; /** 任务已经执行次数 */ private runCount; /** * 后台服务 * @param context 上下文对象 * @param name 任务名称 * @param delayTime 开始延时: ms * @param intervalTime 间隔时长: ms * @param executeTask 任务执行回调 * @param doStopTask 任务停止回调 */ constructor(context: CONTEXT, name: string, delayTime?: number, intervalTime?: number, executeTask?: ((server: BackupServer<CONTEXT>) => Promise<void>) | undefined, doStopTask?: () => boolean); /** 获取默认的服务上下文对象 */ static getServerContext(options?: { logger?: SaveLogger; onLog?: (level: LogLevel, data: any | any[] | undefined) => void; }): RequestContext; /** 运行服务, 注意:任务不停止,不会返回,所以不要使用 await 等着返回 */ start(): Promise<void>; protected runTask(runRef: number): Promise<void>; }