刚出炉热腾腾的定时任务可视化管理系统(可视化每日工作任务列表)

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

  • quartz
  • elastic-job
  • xxl-job

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

  • Spring Boot 中实现定时任务的两种方式!

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

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

项目已开源,项目地址:

  • https://github.com/lenve/scheduling

食用方式

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

刚出炉热腾腾的定时任务可视化管理系统(可视化每日工作任务列表)

表示启动成功。

功能介绍

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

添加作业的页面如下:

刚出炉热腾腾的定时任务可视化管理系统(可视化每日工作任务列表)

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

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

作业添加成功提示如下:

刚出炉热腾腾的定时任务可视化管理系统(可视化每日工作任务列表)

作业添加失败提示如下:

刚出炉热腾腾的定时任务可视化管理系统(可视化每日工作任务列表)

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

刚出炉热腾腾的定时任务可视化管理系统(可视化每日工作任务列表)

修改后会立马生效。

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

刚出炉热腾腾的定时任务可视化管理系统(可视化每日工作任务列表)

技术栈

  • SpringBoot
  • Jpa
  • MySQL
  • Spring Job
  • Vue

其他

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

好啦,先说这么多。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年7月16日 上午10:08
下一篇 2022年7月16日 上午10:10

相关推荐

  • 从化|菜地塱村:建村500余年,上灯习俗沿用广式红木宫灯(从化区菜地塱村)

    栏目语 党的二十大在擘画全面建成社会主义现代化强国宏伟蓝图时,对农业农村工作进行了总体部署,明确提出全面推进乡村振兴。 乡村振兴,既要塑形,也要铸魂。文化振兴是实施乡村振兴的重要内…

    科研百科 2023年6月15日
    578
  • 如何查看自己参与的科研项目

    如何查看自己参与的科研项目 随着科技的不断进步,我们现在可以在各种平台上查看自己参与的科研项目。这些平台包括谷歌学术、百度学术、科研社区等。 在谷歌学术上,你可以搜索感兴趣的关键词…

    科研百科 2024年11月8日
    2
  • 制造oa协同办公

    制造oa协同办公: 让团队协作更高效 随着企业的发展,团队协作变得越来越重要。传统的纸质文件和电子邮件已经无法满足现代企业的需求,因此,oa协同办公系统成为了现代企业必不可少的工具…

    科研百科 2024年8月23日
    49
  • 全球项目管理系统

    全球项目管理系统 随着全球化的加速,越来越多的公司和组织开始意识到项目管理的重要性。全球项目管理系统(GPM)是一种能够帮助企业或组织实现高效、合规、可靠的项目管理的工具。本文将探…

    科研百科 2024年12月11日
    0
  • 优秀党建品牌巡展|突出行业系统 深化条块融合 烟台蓬莱全面提升城市基层党建整体效应

    编者按:齐鲁儿女印初心,聚指成拳担使命。8月20日,大众日报、山东省委党校联合13所高校马克思主义学院携手共建的山东党建云平台上线,同步启动“齐鲁印初心”山东优秀党建品牌孵化工程,…

    科研百科 2023年2月7日
    238
  • 项目管理系统 实现

    项目管理系统是一种用于管理项目的工具,可以帮助项目经理、项目团队和利益相关者更好地协调和管理项目。实现一个项目管理系统需要考虑多个方面,包括需求分析、系统设计、编码、测试和部署等。…

    科研百科 2024年12月15日
    0
  • 招商项目管理系统讲解

    招商项目管理系统讲解 随着市场经济的不断变化和发展,招商工作已经成为了许多企业实现业务增长的重要方式之一。而招商项目管理系统则是企业实现招商业务自动化、提高效率和服务质量的重要手段…

    科研百科 2024年12月27日
    0
  • 科研项目角色主持

    科研项目角色主持:从入门到精通 作为一名科研项目主持人,需要具备多方面的技能和知识,以便有效地组织和协调科研项目的各个方面。本文将介绍作为一名科研项目主持人需要掌握的技能和知识,以…

    科研百科 2025年2月21日
    2
  • 校长带头捐工资,西法大为申博士点向校友募捐?

    来源:【科学网】 5月22日,“如何看待西北政法大学校庆发起众筹?”登上知乎热榜。 今年,该校迎来建校85周年,其校友总会和教育发展基金会号召师生员工、校友以及各界爱心人士捐款捐物…

    科研百科 2024年4月20日
    108
  • web3.0开发技术路线

    Web3.0开发技术路线 随着区块链技术的不断发展,Web3.0技术也逐渐被开发出来。Web3.0技术是一种基于区块链技术的应用程序,它将Web应用程序扩展到了区块链网络中。Web…

    科研百科 2024年10月21日
    0