当前位置: 首页 > 后端技术 > Node.js

Node.js设置定时任务:node-schedule模块的使用

时间:2023-04-03 18:47:56 Node.js

node-schedule是Node.js的一个定时任务(crontab)模块。我们可以使用定时任务来维护服务器系统,让它在固定的时间内执行某些必要的操作,也可以使用定时任务来发送邮件、爬取数据等;1.安装npminstallnode-schedule#或者yarnaddnode-schedule2.基本使用使用schedule.scheduleJob()创建一个定时任务,一个简单的例子:constschedule=require('node-schedule');//执行当当前时间的秒值为10Task时,如:2018-7-813:25:10letjob=schedule.scheduleJob('10*****',()=>{console.log(new日期());});如何运行示例?(首先确保安装了Node.js)1、新建一个*.js文件,如:test.js,粘贴示例代码;2.终端(或命令行)cd到当前文件所在目录;3.终端执行nodetest.js执行代码;4.console会直接在终端界面输出内容;5、Ctrl+C可以退出执行;|│││││└星期几,取值:0-7,其中0和7都代表星期日││││└────月,取值:1-12││└──────日期,值:1-31│└──────────小时,值:0-23└──────────────分钟,值:0-59└────────────────────秒,取值:0-59(可选)也可以指定具体时间,如:constschedule=require('node-schedule');//定义afuturetimeletdate=newDate(2016,6,13,15,50,0);//定义一个任务letjob=schedule.scheduleJob(date,()=>{console.log(newDate());});3.高级用法除了基本用法外,我们还可以使用一些更灵活的方法来实现定时任务3.1,定时执行一次constschedule=require('node-schedule');//定义规则letrule=newschedule.RecurrenceRule();rule.second=[0,10,20,30,40,50];//每10秒执行一次//启动任务letjob=schedule.scheduleJob(rule,()=>{console.log(newDate());});rule支持的值有second,minute,hour,date,dayOfWeek,month,year等。一些厂商的用法,如:executerule.second=[0,1,2,3...59]每一秒;每分钟0秒执行rule.second=0;每隔一小时执行rule.minute30分钟=30;rule.second=0;执行rule.hour=0;rule.minute=0;rule.second=0;执行rule.date=1;rule.hour=10at10:00在每个月的第一天;rule.minute=0;rule.second=0;每周一、三、五0:00和12:00执行rule.dayOfWeek=[1,3,5];rule.hour=[0,12];rule.minute=0;rule.second=0;四、取消任务你可以使用cancel()来终止一个正在运行的任务。工作。取消();