@thatcompany/ts-tool
Version:
基于TypeScript编写的工具库
55 lines (54 loc) • 1.15 kB
TypeScript
/**
* 调度任务的并发等待时间
*/
export type TCronPollingTime = {
/**
* 启动下一个并发队列任务的间隔时间
* 在重量级任务时,可以适当调大该值,以削减CPU和内存资源的峰值
* 单位:毫秒
*/
execute: number;
/**
* 任务重复的轮询间隔时间
* 单位:毫秒
*/
repeat: number;
/**
* 队列等待更新时间
* 单位:毫秒
*/
plus: number;
};
/**
* 调度任务的重复丢弃策略
*/
export type TDiscard = {
/**
* 丢弃重复的挂起任务
*/
pending: boolean;
/**
* 丢弃重复的预备任务
*/
ready: boolean;
/**
* 丢弃重复的运行任务
*/
running: boolean;
};
export type TCronExecuteResult<T = any> = {
task: TThreadChild<T>;
success: boolean;
startTime?: number;
endTime?: number;
elapsedTime?: number;
message?: string;
};
export type TCronWorkerParam<T = any> = {
task: T;
execute: (task: T) => Promise<TCronExecuteResult<T>>;
};
export type TThreadChild<T = any> = {
key: any;
value: T;
};