nodeJS中定时任务cron的使用
cron模块可以帮助我们在node中定时执行任务。如果你的定时需求是简单的setInterval()与setTimeout()计时器所无法满足的比较复杂的定时规则,推荐使用cron来配置。
安装cron模块
npm install cron
代码中启动一个任务
new cronJob('* * * * * *', function () { //需要定时执行的任务代码写在这里 }, null, true);
其中第一个参数'* * * * * *'为cron表达式。
例如
- '* * * * * *' 为每秒钟执行一次;
- '*/30 * * * * *'为每30秒执行一次,会在每分钟的0秒和30秒执行;
- '* */30 8-18 * * *'每天的8点到18点的0分和30分执行;
- '* 15 10,18 * * *'每天的10点15分和18点15分执行。
以此类推,更多规则案例可以通过搜索引擎搜索cron表达式的用法。
【注意】cron表达式是比较通用的一种定时任务的时间表示法。但是经过尝试,略有不同,在此记录:
- 通用的cron表达式最后一个参数“星期”的表示法为Mon Tue Fri等三位英文,而node中的这个cron模块星期的表示法为0-6(分别表示周日-周六)
- 通用的cron表达式星期和日期冲突,其中一个写为“?”,而node中的这个cron模块,仍然写为“*”。