美文网首页Java全新框架
刚出炉热腾腾的定时任务可视化管理系统

刚出炉热腾腾的定时任务可视化管理系统

作者: _江南一点雨 | 来源:发表于2021-09-14 10:10 被阅读0次

定时任务也算是我们日常开发中比较常见的需求了,市面上也有很多成熟的框架:

  • quartz
  • elastic-job
  • xxl-job
  • ...

不过小伙伴们知道,其实我们 Spring 框架中也提供了相应的定时任务,这个定时任务通过 @EnableScheduling 注解开启,松哥之前也写过文章和大家分享这个注解的基本用法:

不过之前的定时任务都是固定的,提前写死的,没法动态配置,前两天有小伙伴问松哥如何实现定时任务的动态配置?

这个东西要是基于 xxl-job 之类的框架来做其实是比较容易的,不过用 Spring 自带的 @EnableScheduling 注解其实也能实现,而且并不难,松哥基于此火急火燎的写了一个,今天先和大家聊聊大致用法,后面抽空再写一篇文章介绍实现原理。

项目已开源,项目地址:

食用方式

  1. 克隆项目:git clone https://github.com/lenve/scheduling.git
  2. 本地数据库创建一个名为 scheduling 的库。
  3. 修改配置文件 src/main/resources/application.yaml,主要修改数据库连接的用户名和地址。
  4. 启动项目。
  5. 浏览器访问 http://localhost:8080,可以看到如下页面:
image

表示启动成功。

功能介绍

  1. 项目启动时,会自动从数据库中加载状态为 1 的定时任务并开始执行,1 表示处于开启状态的定时任务,0 表示处于禁用状态的定时任务。
  2. 点击页面上的添加作业按钮,可以添加一个新的定时任务,新任务的 Bean 名称、方法名称以及方法参数如果和已有的记录相同,则认为是重复作业,重复作业会添加失败。

添加作业的页面如下:

image

这里涉及到几个参数,含义如下:

  • Bean 名称:这是项目中注入 Spring 的 Bean 名称,测试代码中以 org/javaboy/scheduling02/service/SchedulingTaskDemo.java 为例。
  • 方法名称:参数 1 中 bean 里边的方法名称。
  • 方法参数:参数 2 中方法的参数。
  • Cron 表达式:定时任务的 Cron 表达式。
  • 作业状态:开启和禁用两种。开启的话,添加完成后这个定时任务就会开始执行,禁用的话,就单纯只是将记录添加到数据库中。

作业添加成功提示如下:

image

作业添加失败提示如下:

image
  1. 点击作业编辑,可以修改作业的各项数据:
image

修改后会立马生效。

  1. 点击作业删除,可以删除一个现有的作业。假如删除的作业正在执行,则先停止该作业,然后删除。
  2. 点击列表中的 switch 按钮也可以切换作业的状态。
image

技术栈

  • SpringBoot
  • Jpa
  • MySQL
  • Spring Job
  • Vue

其他

这是一个学习的 Demo,并非完整项目,后面松哥会出一篇文章和大家分享具体的实现思路。

好啦,先说这么多。

感兴趣的小伙伴赶紧去体验一把吧:

相关文章

  • 刚出炉热腾腾的定时任务可视化管理系统

    定时任务也算是我们日常开发中比较常见的需求了,市面上也有很多成熟的框架: quartz elastic-job x...

  • gocron - 定时任务web管理系统

    gocron - 定时任务管理系统 项目简介 使用Go语言开发的定时任务集中调度和管理系统, 用于替代Linux-...

  • webcron

    webcron 一个定时任务管理器,基于Go语言和beego框架开发。用于统一管理项目中的定时任务,提供可视化配置...

  • 定时任务管理系统

    目录 cronsun AlternativesCronicleAirflowgocronCronitorCronh...

  • day 22 操作系统定时任务

    系统定时任务概念==生活中闹钟 系统定时任务实现方法: 实现定时任务配置: 定时任务如何进行设置 定时任务编写常见...

  • 定时任务管理系统 - 搭建

    目录 Mongo基本使用设置访问设置权限 Etcd基本使用设置访问设置权限 Cronsun基本使用添加节点 Tod...

  • 2019-07-31定时任务

    定时任务 定时任务实现方法 系统默认定时任务 用户自定义设置定时任务 定时任务配置文件 定时任务启动 定时任务样例...

  • day17

    Linux系统定时任务 3W1H 框架 Linux系统定时任务: 1、什么是定时任务? 周期性的执行任务计划的软件...

  • Android白名单&后台唤醒收集

    Android AlarmManager 定时任务/报警管理 通俗一点:AlarmManager 系统提供的一个...

  • 定时任务

    目录一:系统定时任务二:系统定时任务配置文件(crontab)三:增加定时任务1.crontab -e2.1.sh...

网友评论

    本文标题:刚出炉热腾腾的定时任务可视化管理系统

    本文链接:https://www.haomeiwen.com/subject/yrqcgltx.html