node项目中如何使用Node Schedule创建定时任务
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了node项目中如何使用Node Schedule创建定时任务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。nodej
千家信息网最后更新 2026年11月03日node项目中如何使用Node Schedule创建定时任务
这篇文章主要介绍了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项目中如何使用Node Schedule创建定时任务"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
任务
事件
篇文章
对象
项目
名字
手动
方法
帮助
个人
价值
兴趣
函数
参数
同时
备份
实例
小时
日期
时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
科技互联网项目
易互联网科技有限公司
互联网科技公司发展
万易互联网科技
为想互联网科技
互联网科技排名
迪茉互联网科技
伴你行互联网科技有限公司
互联网前沿科技
中盈科技互联网信息有限公司
互联网之后的科技是什么
栖莱科技互联网股份有限公司
移动互联网科技公司
天津腾达互联网科技有限公司
互联网科技圈年度人物
美国互联网科技实力
张家口科技产业互联网平台
中国互联网公司的科技投入
杭州科技互联网公司有哪些
华服互联网科技靠谱吗
广东猪兼强互联网科技有限公司
有马互联网科技
嘟嘟瓜互联网科技
北京禾田雨橡互联网科技
苏州大垚互联网科技
上海卓越科技 互联网
科技赋能互联网健康
南京一网一红互联网科技有限公司
互联网领先科技活动