分享更有价值
被信任是一种快乐

node如何实现定时任务

文章页正文上

这篇文章主要介绍“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时,执行一个c免费云主机、域名ron任务
varj=schedule.scheduleJob('42****',function(){
console.log('执行了!');
});

2.Date对象规则定时器

varschedule=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如何实现定时任务”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云技术行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: es6中class继承调用super的原因是什么

本文小编为大家详细介绍“es6中class继承调用super的原因是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6中class继承调用super的原因是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 原因:派生出的构…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册