计划时间util/cron
解析 CRON 表达式实现计划任务。
基本用法
import cronJob from "util/cron";
// 每月 5 号凌晨执行一次任务。
var job = cronJob("0 0 5 * *", () => {
console.log("tick");
});
// 停用任务:
// job.stop();
限制
- 仅支持标准格式。不支持 L、W、C 等扩展语法。
- 星期天使用 0 表示,不支持使用 7 表示。
- 不支持超时超过 2147483647ms 的计划任务。
- 不支持时区。
另参考
API
全局
函数 | 描述 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
⮞
crobJob(cronExpression, callback, ...)(cronExpression:
创建一个计划任务。
返回值类型: |
创建一个计划任务。 |
||||||||||||||||
⮞
isValidCronExpression(value)(value:
判断指定的字符串是否是合法的计划时间表达式。
返回值类型: 如果合法则返回 true,否则返回 false。 |
判断指定的字符串是否是合法的计划时间表达式。 |
CronJob 类
表示一个计划任务。
字段 | 类型 | 描述 |
---|---|---|
⮞
cronExpression
: CronExpression
计划时间表达式。 |
CronExpression
|
计划时间表达式。 |
⮞
callback
: () => void
任务回调函数。 |
function
|
任务回调函数。 |
⮞
offset
: number
客户端时间与实际时间的误差秒数。 |
number
|
客户端时间与实际时间的误差秒数。 |
方法 | 描述 |
---|---|
⮞
start()():
启动当前任务。 返回值类型: |
启动当前任务。 |
⮞
stop()():
停止当前任务。 返回值类型: |
停止当前任务。 |
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:
|
初始化新的计划时间表达式。 |
||||||||
⮞
next(date)(date:
获取到指定日期最近的计划时间。
返回值类型: 返回最近的日期对象。 |
获取到指定日期最近的计划时间。 |
||||||||
⮞
toString()():
转为等效的字符串。 返回值类型: 返回字符串。 |
转为等效的字符串。 |
||||||||
⮞
match(date)(date:
判断指定的日期是否命中当前计划时间。
返回值类型: 如果命中则返回 true,否则返回 false。 |
判断指定的日期是否命中当前计划时间。 |
CronRule 接口
表示一个计划时间表达式中的一个规则。