当前位置: 首页 > news >正文

Express实现定时任务

安装库

npm i -s node-schedule

创建文件夹scheduler,在其中创建index.js

const ciTask = require('./task/get_ci_data');
const jiraTask = require('./task/get_jira_data');
const TaskScheduler = require('./task/task_scheduler')class Scheduler {constructor() {this.jobs = [];}add(job) {this.jobs.push(job);}start() {this.jobs.forEach(job => job.start());}stop() {this.jobs.forEach(job => job.stop());}
}const scheduler = new Scheduler();scheduler.add(new TaskScheduler('0 0 8 ? * 1', ciTask))  //添加的定时任务
scheduler.add(new TaskScheduler('0 0 8 ? * 1', jiraTask))module.exports = scheduler

在其下的task文件夹中创建task_scheduler.js文件,创建TaskScheduler类

const schedule = require('node-schedule');class TaskScheduler {constructor(cronExpression, task) {// 将传入的 cron 表达式和任务保存为成员变量this.cronExpression = cronExpression;this.task = task;this.job = null;}start() {if (!this.job) {this.job = schedule.scheduleJob(this.cronExpression, this.task);}}stop() {if (this.job) {this.job.cancel();this.job = null;}}
}// 导出任务调度器类
module.exports = TaskScheduler;

在express的listen中启动scheduler

const scheduler = require('../scheduler');
server.listen(port, () => {scheduler.start();
});
http://www.lryc.cn/news/585703.html

相关文章:

  • 飞算科技正在撬动各行业数字化转型的深层变革
  • ch06 部分题目思路
  • OpenCV实现感知哈希(Perceptual Hash)算法的类cv::img_hash::PHash
  • 深入探究编程拷贝
  • 基于Java Spring Boot开发的旅游景区智能管理系统 计算机毕业设计源码32487
  • 4万亿英伟达,凭什么?
  • 【Linux应用】Ubuntu20.04 aarch64开发板一键安装ROS2(清华源)
  • PandaCoder重大产品更新-引入Jenkinsfile文件支持
  • mysql的LIMIT 用法
  • 【AI大模型】超越RAG的搜索革命!分层框架让AI像专家团队一样深度思考
  • Java教程:JavaWeb ---MySQL高级
  • 隆重介绍 Xget for Chrome:您的终极下载加速器
  • linux kernel struct regmap_config结构详解
  • 【Quest开发】快速添加可手指触摸按钮
  • 3 OneNET-调试器模拟上报数据
  • Visual Studio Code 的 settings.json 配置指南
  • HarmonyOS NEXT端云一体化开发初体验
  • 世俱杯直播数据源通过反汇编获取到
  • gradle中namespace和applicationId的区别
  • Ubuntu20.04运行openmvg和openmvs实现三维重建(未成功,仅供参考)
  • 【酶解法】小鼠脾脏单细胞悬液的制备指南
  • 云网络产品
  • 7.11文件和异常
  • linux中cmake编译项目
  • 5G标准学习笔记15 --CSI-RS测量
  • Next知识框架、SSR、SSG和ISR知识框架梳理
  • SwiGLU是什么:Swish激活函数和门控线性单元(GLU)机制的激活函数
  • 2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛C题 基于Quantum Boosting的二分类模型问题
  • 实时数仓和离线数仓还分不清楚?看完就懂了
  • defer关键字