Teal TealUI

计划时间util/cron

解析 CRON 表达式实现计划任务。

基本用法
API
全局
CronJob 类
CronExpression 类
CronRule 接口

基本用法

import cronJob from "util/cron";

// 每月 5 号凌晨执行一次任务。
var job = cronJob("0 0 5 * *", () => {
    console.log("tick");
});

// 停用任务:
// job.stop();
限制
  1. 仅支持标准格式。不支持 L、W、C 等扩展语法。
  2. 星期天使用 0 表示,不支持使用 7 表示。
  3. 不支持超时超过 2147483647ms 的计划任务。
  4. 不支持时区。
另参考

Cron

API

全局

函数 描述
crobJob(cronExpression, callback, ...)(cronExpression:string, callback:function, now?:Date):CronJob

创建一个计划任务。

参数 类型 描述 默认值
cronExpression* string
callback* () => void
now Date new Date()

返回值

类型:CronJob

创建一个计划任务。

isValidCronExpression(value)(value:string):boolean

判断指定的字符串是否是合法的计划时间表达式。

参数 类型 描述 默认值
value* string

返回值

类型:boolean

如果合法则返回 true,否则返回 false。

判断指定的字符串是否是合法的计划时间表达式。

CronJob 类

表示一个计划任务。

字段 类型 描述
cronExpression : CronExpression

计划时间表达式。

CronExpression

计划时间表达式。

callback : () => void

任务回调函数。

function

任务回调函数。

offset : number

客户端时间与实际时间的误差秒数。

number

客户端时间与实际时间的误差秒数。

方法 描述
start()():void

启动当前任务。

返回值

类型:void

启动当前任务。

stop()():void

停止当前任务。

返回值

类型:void

停止当前任务。

CronExpression 类

表示一个计划时间表达式。

参考

字段 类型 描述
seconds : CronRule[]

秒部分的匹配规则。

CronRule[]

秒部分的匹配规则。

minutes : CronRule[]

分部分的匹配规则。

CronRule[]

分部分的匹配规则。

hours : CronRule[]

小时部分的匹配规则。

CronRule[]

小时部分的匹配规则。

dayOfMonth : CronRule[]

日期部分的匹配规则。

CronRule[]

日期部分的匹配规则。

month : CronRule[]

月部分的匹配规则。

CronRule[]

月部分的匹配规则。

dayOfWeek : CronRule[]

星期部分的匹配规则。

CronRule[]

星期部分的匹配规则。

year : CronRule[]

年部分的匹配规则。

CronRule[]

年部分的匹配规则。

方法 描述
new CronExpression(source)(source:string):CronExpression

初始化新的计划时间表达式。

参数 类型 描述 默认值
source* string

返回值

类型:CronExpression

初始化新的计划时间表达式。

next(date)(date:Date):Date

获取到指定日期最近的计划时间。

参数 类型 描述 默认值
date* Date

返回值

类型:Date

返回最近的日期对象。

获取到指定日期最近的计划时间。

toString()():string

转为等效的字符串。

返回值

类型:string

返回字符串。

转为等效的字符串。

match(date)(date:Date):boolean

判断指定的日期是否命中当前计划时间。

参数 类型 描述 默认值
date* Date

返回值

类型:boolean

如果命中则返回 true,否则返回 false。

判断指定的日期是否命中当前计划时间。

CronRule 接口

表示一个计划时间表达式中的一个规则。

字段 类型 描述
start : number

开始数值(含)。

number

开始数值(含)。

step : number = 1

步长。

number

步长。

end : number

结束数值(含)。

number

结束数值(含)。