UNPKG

@thatcompany/ts-tool

Version:

基于TypeScript编写的工具库

32 lines (31 loc) 1.13 kB
import cron from 'node-cron'; import { IRegister } from '../../../annotation'; import { ETaskService } from '../entity/ETaskService'; export declare abstract class ITaskRegister<T extends ETaskService> extends IRegister<T> { configs: T[]; singletonConfigs: string[]; taskList: Map<string, cron.ScheduledTask>; serviceMap: Map<string, Function>; services: Map<string, any>; protected scanService(): Promise<void>; register(keys?: any[]): Promise<void>; protected abstract registerTask(item: T): Promise<void>; destroy(keys?: any[]): void; /** * 重载任务 * @param keys */ reload(keys?: any[]): Promise<void>; /** * 获取所有调度任务配置 * * 重写该方法,实现动态获取任务配置 * 注意需要添加一个 `Id` 字段作为唯一标识 * 其他字段根据实际情况自行添加 * * 只要单例模式的可以重写返回空数组 return [] * * 基本:{`Id`: any, class: string, title: string, description: string, cron: string} */ protected abstract fetchConfigs(): Promise<T[]>; }