node-schedule 是 Node.js 的一个 定时任务(crontab)模块。我们可以使用定时任务来对服务器系统进行维护,让其在固定的时间段执行某些必要的操作,还可以使用定时任务发送邮件、爬取数据等;
一、安装
npm install node-schedule
# 或
yarn add node-schedule
二、基础用法
使用 schedule.scheduleJob()
即可创建一个定时任务,一个简单的上手示例:
const schedule = require('node-schedule');
// 当前时间的秒值为 0 时执行任务
const job = schedule.scheduleJob('0 * * * * *', () => {
console.log(new Date());
});
时间数值按下表表示
* => 秒,取值:0 - 59(可选)
* => 分,取值:0 - 59(可选)
* => 时,取值:0 - 23(可选)
* => 日,取值:1 - 31(可选)
* => 月,取值:1 - 12(可选)
* => 星期几,取值:0 - 7(可选)其中 0 和 7 都表示是周日
也可以指定一个具体的时间,如:
const schedule = require('node-schedule');
// 定义一个未来的时间
let date = new Date(2021, 5, 20, 13, 14, 0);
// 定义一个任务
let job = schedule.scheduleJob(date, () => {
console.log(new Date());
});
对象的用法
// 周末下午2点30 打印喝茶时间
const job = schedule.scheduleJob({hour: 14, minute: 30, dayOfWeek: 0}, function(){
console.log('Time for tea!');
});