ts-api-core
Version:
Nodejs api framework core
33 lines (32 loc) • 1.55 kB
TypeScript
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>;
}