定时任务
来源:Node.js
定时任务
定时任务是指在预定的时间点或时间间隔内执行的任务或操作
它们是自动化执行特定逻辑的一种方式,可用于执行重复性的、周期性的或计划性的任务
定时任务常见于以下情况:
- 执行后台任务,如数据备份、日志清理、缓存刷新等
- 执行定期操作,如发送电子邮件提醒、生成报告、更新数据等
- 调度任务和工作流:调度和协调复杂的任务和工作流程,通过设置任务之间的依赖关系
使用
依赖
node-schedule是一个能用cron表达式处理定时任务的库
1 | pnpm install node-schedule |
cron表达式
Cron表达式是一种用于指定定时任务执行时间的字符串表示形式,由6个或7个字段组成,每个字段表示任务执行的时间单位和范围
1 | * * * * * * * |
域 | 是否必需 | 取值范围 | 特殊字符 |
---|---|---|---|
秒 Seconds | 是 | [0, 59] | * , - / |
分钟 Minutes | 是 | [0, 59] | * , - / |
小时 Hours | 是 | [0, 23] | * , - / |
日期 DayofMonth | 是 | [1, 31] | * , - / ? L W |
月份 Month | 是 | [1, 12]或[JAN, DEC] | * , - / |
星期 DayofWeek | 是 | [1, 7]或[MON, SUN]。若使用[1, 7]表达方式,1代表星期一,7代表星期日。 | * , - / ? L # |
年 Year | 否 | 1970+ | - * / |
每个字段可以接受特定的数值、范围、通配符和特殊字符来指定任务的执行时间
- 数值:表示具体的时间单位,如1、2、10等
- 范围:
-
连接起始和结束的数值,表示一个范围内的所有值,如1-5表示1到5的所有数值 - 通配符:
*
表示匹配该字段的所有可能值,如*
表示每分钟、每小时、每天等 - 逗号:逗号
,
分隔多个数值或范围,表示匹配其中任意一个值,如1,3表示1或3 - 步长:
/
表示步长,用于指定间隔的数值,如*/5
表示每隔5个单位执行一次 - 特殊字符:一些特殊字符能表示特定的含义,例如
?
用于替代日和星期字段中的任意值L
表示最后一天W
表示最近的工作日
代码
评论