Node.js设置定时任务之node-schedule模块的使用详解
node-schedule是 Node.js 的一个定时任务(crontab)模块。我们可以使用定时任务来对服务器系统进行维护,让其在固定的时间段执行某些必要的操作,还可以使用定时任务发送邮件、爬取数据等;
一、安装
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,2,3......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模块的使用内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指