3 Star 14 Fork 7

剑器近 / Quartz Scheduler 任务调度系统

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.27 KB
一键复制 编辑 原始数据 按行查看 历史

Scheduler

项目简介

基于SpringBoot、Quartz的任务调度系统,极致精简的代码,除增删改查外仅有两个类, 方便初学者了解Quartz或者二次开发,集成内嵌数据库h2database,项目可直接运行无需安装数据库

用户名:1 密码:abc@123

功能特性

  • Web界面管理定时任务,支持动态添加、删除、编辑任务;
  • 查看任务执行日志;
  • 任务执行结果回调,方便排查错误;
  • 代码精简便于二次开发;
  • 集成h2database,无需安装数据库可直接运行。

注意

  • 该项目在内部已经得到生产环境的验证,运行极其稳定全年无事故(本身就没多少代码量=.=!)
  • 并非为大型系统设计,仅针对中小型系统,以便任务与调度的解耦和(生产环境建议配置MySQL)

代码说明

本项目是一个典型的前后端分离的spring boot项目,通过restful接口对任务进行增删改查操作

除Quartz自身包含的11张表外,整个系统仅有两张表:

  • 任务信息表 schedule_job
  • 运行记录表 job_log

所有的controller、service和mapper仅围绕这两张表进行操作

核心类

  • org.yzh.scheduler.schedule.SchedulerManager 动态创建修改JOB
  • org.yzh.scheduler.schedule.RemoteHttpTrigger 远程Http接口的触发器
  • org.yzh.scheduler.controller.CallbackController中test方法是一个客户端接口的例子, scheduler触发任务后会发送自身的url供客户端任务执行后回调,以便记录任务执行状态 项目启动后会默认运行该接口以便演示效果

初始化脚本

  • tables_mysql_innodb.sql (Quartz官方内置表)
  • schema.sql (该项目自身需要的表)
  • initial.sql (初始化测试数据)

初始化脚本无需手动运行,在application.yaml的spring.datasource.schema和data属性中可指定SQL脚本。

任务管理界面 任务管理界面

任务编辑新增界面 任务编辑新增界面

任务运行记录界面 任务运行记录界面

Java
1
https://gitee.com/yezhihao/scheduler.git
git@gitee.com:yezhihao/scheduler.git
yezhihao
scheduler
Quartz Scheduler 任务调度系统
master

搜索帮助