Node.js设置定时任务之node-schedule模块的使⽤详解node-schedule是 Node.js 的⼀个定时任务(crontab)模块。我们可以使⽤定时任务来对服务器系统进⾏维护,让其在固定的时间段执⾏某些必要的操作,还可以使⽤定时任务发送邮件、爬取数据等;
schedule用法及搭配⼀、安装
npm install node-schedule
# 或
yarn add node-schedule
⼆、基础⽤法
使⽤schedule.scheduleJob()即可创建⼀个定时任务,⼀个简单的上⼿⽰例:
const schedule = require('node-schedule');
// 当前时间的秒值为 10 时执⾏任务,如:2018-7-8 13:25:10
let job = schedule.scheduleJob('10 * * * * *', () => {
console.log(new Date());
});
如何运⾏⽰例?(⾸先确保安装了 Node.js)
1、新建⼀个 *.js ⽂件,如:test.js,粘贴⽰例代码;
2、终端(或命令⾏)cd到当前⽂件的所在⽬录;
3、终端执⾏node test.js即可执⾏代码;
4、console会在终端界⾯直接输出内容;
5、Ctrl + C可退出执⾏;
时间数值按下表表⽰
*  *  *  *  *  *
┬┬┬┬┬┬
│││││  |
│││││└星期⼏,取值:0 - 7,其中 0 和 7 都表⽰是周⽇
││││└───⽉份,取值:1 - 12
│││└──────⽇期,取值:1 - 31
││└─────────时,取值:0 - 23
│└────────────分,取值:0 - 59
└───────────────秒,取值:0 - 59(可选)
也可以指定⼀个具体的时间,如:
const schedule = require('node-schedule');
// 定义⼀个未来的时间
let date = new Date(2016, 6, 13, 15, 50, 0);
/
/ 定义⼀个任务
let job = schedule.scheduleJob(date, () => {
console.log(new Date());
});
三、进阶⽤法
除了基础的⽤法,我们还可以使⽤⼀些更为灵活的⽅法来实现定时任务。
3.1、隔⼀段时间执⾏⼀次
const schedule = require('node-schedule');
// 定义规则
let rule = new schedule.RecurrenceRule();
rule.second = [0, 10, 20, 30, 40, 50]; // 每隔 10 秒执⾏⼀次
/
/ 启动任务
let job = schedule.scheduleJob(rule, () => {
console.log(new Date());
});
rule⽀持设置的值有second、minute、hour、date、dayOfWeek、month、year等。⼀些⼚家的⽤法,如:
每秒执⾏
rule.second = [0,1,59];
每分钟 0 秒执⾏
rule.second = 0;
每⼩时 30 分执⾏
rule.minute = 30;
rule.second = 0;
每天 0 点执⾏
rule.hour =0;
rule.minute =0;
rule.second =0;
每⽉ 1 号的 10 点执⾏
rule.date = 1;
rule.hour = 10;
rule.minute = 0;
rule.second = 0;
每周⼀、周三、周五的 0 点和 12 点执⾏
rule.dayOfWeek = [1,3,5];
rule.hour = [0,12];
rule.minute = 0;
rule.second = 0;
四、取消任务
可以使⽤cancel()终⽌⼀个运⾏中的任务。
job.cancel();
到此这篇关于Node.js设置定时任务:node-schedule模块的使⽤的⽂章就介绍到这了,更多相关Node.js设置定时任务:node-schedule模块的使⽤内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。