@thatcompany/ts-tool
Version:
基于TypeScript编写的工具库
38 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ISCronTaskService = void 0;
const ICronTaskService_1 = require("./ICronTaskService");
/**
* 单例调度服务接口
*
* 记得实现 @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);
* }
* }
* ```
*/
class ISCronTaskService extends ICronTaskService_1.ICronTaskService {
// 调度任务的并发等待时间
WAIT_TIME = { execute: 100, plus: 100, repeat: 1000 };
// 如果单例也有多个任务对象,则需要重写该方法,默认只添加一个任务
async collection() {
this.addPending(1, '单例调度任务: ' + this.NAME + '(' + this.DESCRIPTION + ')');
}
}
exports.ISCronTaskService = ISCronTaskService;
//# sourceMappingURL=ISCronTaskService.js.map