这篇文章主要介绍“node如何实现定时任务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node如何实现定时任务”文章能帮助大家解决问题。 node实现定时任务的方法:1、利用setTimeOut和event事件进行管理;2、对所有加入的事件进行排序,并且计算当前时间和最近一个事件发生时间的时间间隔;3、调用setTimeOut设置回调即可。node定时任务(node-schedule模块)实现一个每天凌晨十二点更新服务器上的git代码的功能koa2框架下的app.js文件
importschedulefrom'node-schedule'; importupdateCodefrom'./controllers/hcpLan/fetch' constapp=newKoa(); constrouter=newRouter(); router.get('/',(ctx,next)=>{ ctx.body='hello' }); app.use(router.routes()).use(router.allowedMethods()); letrule=newschedule.RecurrenceRule() /**每天的凌晨12点更新代码*/ rule.hour=0 rule.minute=0 rule.second=0 /**启动任务*/ schedule.scheduleJob(rule,()=>{ updateCode.cloneRepo(); console.log('代码更新了!'); }) app.listen(3000)
node-schedule原理:利用setTimeOut和event事件进行管理,对所有加入的事件进行排序,并且计算当前时间和最近一个事件发生时间的时间间隔,然后调用setTimeOut设置回调。总的来说分两种事件,一种是一次性的,一种是周期性的,一次性任务调用完就结束,周期性的会不断地循环调用,当一个周期性事件被调用后,会根据周期生成下一个周期任务,并添加到任务列表中,重新排序。每个任务调用结束,都会计算并准备下一个任务。一、设置定时器node-schedule允许多种规则去实现定时1. Cron风格定时器
****** ┬┬┬┬┬┬ │││││| │││││└一周的星期(0-7)(0or7isSun) ││││└─────月份(1-12) │││└──────────月份中的日子(1-31) ││└───────────────小时(0-23) │└────────────────────分钟(0-59) └─────────────────────────秒(0-59,OPTIONAL) varschedule=require('node-schedule'); //当分钟为42时,执行一个cron任务 varj=schedule.scheduleJob('42****',function(){ console.log('执行了!'); });
2.Date对象规则定时器
varsc免费云主机域名hedule=require('node-schedule'); vardate=newDate('2017-09-2622:00:00'); varj=schedule.scheduleJob(date,function(){ console.log('执行了!'); });
3.RecurrenceRule实例规则定时器
varschedule=require('node-schedule'); varrule=newschedule.RecurrenceRule(); rule.minute=42; varj=schedule.scheduleJob(rule,function(){ console.log('执行了!'); });
关于“node如何实现定时任务”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。
本篇内容介绍了“vue引入jquery的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.首先,在vue-cli中创建一个vue.js项目;2.vue…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。