node cron 动态任务调度,不同timeZone配置

本文详细介绍了如何使用node-cron插件在Node.js中实现动态任务调度,并结合TimeZone进行配置。内容包括cron和timezone的安装、相关数据库的设计(定时任务开关表和任务记录表)、代码实现及时区数据的下载。通过实例展示了每2分钟执行一次的任务表达式。

系列文章目录


前言

一、安装cron和timezone

二、创建相关db

1.定时任务开关表

 2.定时任务表和运行记录表

 三、相关代码实现

四、时区数据下载

 五、time cron



前言

使用cron 插件实现动态任务调度,配置不同时区的定时任务


一、安装cron和timezone

npm ininstall cron
npm install moment-timezone

二、创建相关db

1.定时任务开关表

CREATE TABLE `scheduled_task_switch` (
  `id` int(10) NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `runningState` tinyint(1) DEFAULT '0' COMMENT '0: 初始状态 1:正在停止 2:已停止',
  `createBy` varchar(50) NOT NULL,
  `createDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updateBy` varchar(50) DEFAULT NULL,
  `updateDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 2.定时任务表和运行记录表

CREATE TABLE `scheduled_tasks` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `code` varchar(100) DEFAULT NULL,
  `name` varchar(100) NOT NULL,
  `cronTime` varchar(100) DEFAULT NULL,
  `timeZone` varchar(200) DEFAULT NULL,
  `isActive` tinyint(1) NOT NULL DEFAULT '1',
  `limitCount` int(10) DEFAULT NULL,
  `errMaxCount` int(5) DEFAULT '5',
  `saveLog` tinyint(1) DEFAULT '0'45,
  PRIM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光太浅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值