Node实现12点更新代码的定时任务的方法是什么
Admin 2022-11-14 群英技术资讯 347 次浏览
node实现定时任务的方法:1、利用setTimeOut和event事件进行管理;2、对所有加入的事件进行排序,并且计算当前时间和最近一个事件发生时间的时间间隔;3、调用setTimeOut设置回调即可。
本教程操作环境:linux7.3系统、node18.4.0版、Dell G3电脑。
node怎么实现定时任务?
node定时任务(node-schedule模块)
实现一个每天凌晨十二点更新服务器上的git代码的功能
koa2框架下的app.js文件
import schedule from 'node-schedule';
import updateCode from './controllers/hcpLan/fetch'
const app = new Koa();
const router = new Router();
router.get( '/', (ctx, next) => {
ctx.body = 'hello'
});
app.use(router.routes()).use(router.allowedMethods());
let rule = new schedule.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) (0 or 7 is Sun)
│ │ │ │ └───── 月份 (1 - 12)
│ │ │ └────────── 月份中的日子 (1 - 31)
│ │ └─────────────── 小时 (0 - 23)
│ └──────────────────── 分钟 (0 - 59)
└───────────────────────── 秒 (0 - 59, OPTIONAL)
var schedule = require('node-schedule');
//当分钟为42时,执行一个cron任务
var j = schedule.scheduleJob('42 * * * *', function(){
console.log('执行了!');
});
登录后复制
2.Date对象规则定时器
var schedule = require('node-schedule');
var date = new Date('2017-09-26 22:00:00');
var j = schedule.scheduleJob(date, function(){
console.log('执行了!');
});
登录后复制
3.RecurrenceRule实例规则定时器
var schedule = require('node-schedule');
var rule = new schedule.RecurrenceRule();
rule.minute = 42;
var j = schedule.scheduleJob(rule, function(){
console.log('执行了!');
});
登录后复制
具体使用可查看github文档https://github.com/node-schedule/node-schedule
关于“Node实现12点更新代码的定时任务的方法是什么”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录一.前言二.想法设计/实现过程三.基本样式四.时间函数控制器五,时,分,秒占位六.时间动态填充一.前言今天看到某网站的时间特别的丑陋,所以就诞生了写一个看时间的炫酷的时钟前端页面。 特点就是炫酷,特效好,个人以心情愉快的感觉。 对于时间的变化,我打算使用翻页的特效来完成,色系的话采用黑色以主题,给人一种神秘的感觉。
如何理解JS变量的可及性,相关知识有哪些?在JavaScript开发中一直是由变量构成的,而这个变量是由多个数据组成的,下面小编将和大家一起介绍探讨关于JS变量的可及性,希望对你学习这方面知识有所帮助。
有时候我们只需要执行一次事件,那么在jquery中有什么方法能实现这个需求呢?文中主要介绍one()实现元素只执行一次事件的方法,下文有示例供大家参考,感兴趣的朋友可以了解看看。
这篇文章主要为大家详细介绍了js实现单击可修改表格,类似成绩单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
微信小程序怎样制作上传图片功能,并可多选、查看和删除?下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008