WWW.lllT.neTnode新项目中如何建立计划任务?下边这篇文章内容给我们介绍一下在node新项目中怎么用Node Schedule拟定计划任务脚本制作,期待对各位有些协助!
nodejs的后端开发也是必须计划任务做解决,比如备份数据,定时发送电子邮件,清算等实际操作,因此应用了Node Schedule这一npm协助企业拟定计划任务脚本制作。
npm install node-schedule
Node Schedule 中的每一个计划任务都由一个Job
目标表明。可以手动式建立,随后实行schedule()
方式以运用每日任务,或应用scheduleJob()
如下所示。
Job
目标是`EventEmitter,并传出下列事情:
run
每回实行后的事情。scheduled
每回方案运作时的事情。- 一
canceled
,当它在实行以前读取被撤消的事情。 - 一个
error
当被开启生产调度安全作业读取抛出去或撤出事情回绝Promise
。
(scheduled
和canceled
事情都接受一个 JavaScript 日期目标做为主要参数)。
留意的是,每日任务是第一次立即执行的,因而假如应用scheduleJob()
方式建立每日任务,将错过了第一个scheduled
事情开启,但您可以手动式查看读取。
Cron文件格式
* * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────── day of month (1 - 31) │ │ └─────────────── hour (0 - 23) │ └──────────────────── minute (0 - 59) └───────────────────────── second (0 - 59, OPTIONAL) 每分的第30秒开启: '30 * * * * *' 每钟头的1分30秒开启 :'30 1 * * * *' 每日的零晨1点1分30秒开启 :'30 1 1 * * *' 每月的1日1点1分30秒开启 :'30 1 1 1 * *' 2016年的1月1日1点1分30秒开启 :'30 1 1 1 2016 *' 每星期1的1点1分30秒开启 :'30 1 1 * * 1'
这儿是个体对node-schedule封装形式类来应用增删计划任务
const schedule = require('node-schedule'); exports.Interval = class Interval { constructor({ unit_name, maintain_time, last_alarm }) { this.unit_name = unit_name // 每日任务名称 this.maintain_time = maintain_time // 按时時间 this.last_alarm = last_alarm || "" // 上一次计划任务名称 } // 转化成新的计划任务 async create(callback) { // 停止之间的计划任务 if (this.last_alarm !== "") { this.delete(this.last_alarm) } schedule.scheduleJob(`${this.unit_name}`, `${this.maintain_time}`, callback); } // 删掉计划任务 delete() { if (schedule.scheduledJobs[this.unit_name]) { schedule.scheduledJobs[this.unit_name].cancel(); return true } return false } // 寻找一个计划任务 findOne(name) { if (schedule.scheduledJobs[name]) { return schedule.scheduledJobs[name] } else { throw new Error("找不到每日任务名") } } // 查询全部的计划任务 findAll() { return schedule.scheduledJobs } }
这儿是读取时计划任务Interval案例
// 计划任务 new Util.Interval({ unit_name: '全自动派发每日任务 0 0 12 * * *', maintain_time: '0 0 12 * * *', last_alarm: '全自动派发每日任务 0 0 12 * * *' }).create(async () => { // 载入你自己想在计划任务开启的情况下,要想实行的涵数 })
大量node有关专业知识,请浏览:nodejs 实例教程!!
以上便是node新项目中怎么用Node Schedule建立计划任务的详尽具体内容,大量请关心自学java网其他相关文章!
WWW.lllT.neT声明:有的资源来自网络转载,版权归原作者所有,如有侵犯到您的权益请联系邮箱:our333@126.com我们将配合处理!
原文地址:node新项目中怎么用Node Schedule建立计划任务发布于2021-12-13 15:54:01