加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Node实现12点更新代码的定时任务的方式是什么

发布时间:2023-08-10 11:16:38 所属栏目:语言 来源:
导读:在日常操作或是项目的实际应用中,有不少朋友对于“Node实现12点更新代码的定时任务的方法是什么”的问题会存在疑惑,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借

在日常操作或是项目的实际应用中,有不少朋友对于“Node实现12点更新代码的定时任务的方法是什么”的问题会存在疑惑,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。

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点更新代码的定时任务的方法是什么”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章