@thatcompany/ts-tool
Version:
基于TypeScript编写的工具库
34 lines (33 loc) • 1.11 kB
TypeScript
import { ICronTaskService } from './ICronTaskService';
import { TCronPollingTime } from '../../../../../types/TCronTask';
/**
* 单例调度服务接口
*
* 记得实现 @TaskRegister装饰器修饰的类,否则不会被扫描到
*
* @example
* ```typescript
* @TaskCronService
* class TestCronTaskService extends ISCronTaskService {
* NAME: string = '单例测试';
* DESCRIPTION: string = '测试单例调度服务';
* CRON_EXP: string = '*\/10 * * * * *';
* async collection(): Promise<void> {
* this.addPending(1, '单例调度任务: ' + this.NAME + '(' + this.DESCRIPTION + ')')
* }
* async execute(task: TThreadChild<any>): Promise<TCronExecuteResult<any>> {
* return { task, success: true };
* }
* override async executeEnd(data: any): Promise<void> {
* Logger.info(data.task, data.success);
* }
* }
* ```
*/
export declare abstract class ISCronTaskService extends ICronTaskService {
abstract NAME: string;
abstract DESCRIPTION: string;
abstract CRON_EXP: string;
WAIT_TIME: TCronPollingTime;
collection(): Promise<void>;
}