基于quartz的任务管理雏形

使用quartz主要是为了完成任务调度功能,百度一下,基本都是介绍各类原理和简单的使用示例,能够实现单独使用或者集成spring使用。对于单独使用quartz,且以调度平台的方式使用则介绍很少。下面展现一下简单的调度平台的开发!(问题还有不少,慢慢解决吧)mysql

结合搜索到的内容,本地搭建了一个简单的平台示例。git

代码码云地址:https://gitee.com/seguzhizi/JobManagerspring

简单看下:sql

  • 展现任务列表:

http://localhost:8080/JobManager/showtomcat

暂无任务eclipse

 

  • 添加任务:

界面还没作,能够在本地经过直接访问url来添加:url

http://localhost:8080/JobManager/jobA/jobGroupA/addip

具体路径能够参见SchedulerController方法开发

添加以后,自动跳转到展现界面:rem

后台已在运行,部分输出以下:

  • 暂停

点击暂停以后,再也不继续运行,输出中止

界面展现的状态已变化:PAUSED

  • 当即执行一次

此时界面展现可能有点bug,展现如图:

刷新一下就OK了

  • 恢复

再次点击恢复:

状态变为NORMAL,后台输出也正常了

  • 删除

直接删除便可

  • 修改表达式

这个直接修改quartz库中cron表的对应表达式便可,暂未实现

---------------

1:checkout代码导入eclipse

2:本地开启mysql,执行main/resources/quartz.sql

3:部署至tomcat直接启动(导入工程不报错)

4:访问便可

---------------

几个点说明下:

1:注意quartz.properties的配置

2:注意SchedulerFactoryBean的bean配置

3:一个job实例对应多个trigger,可是一个trigger只能触发一个job实例

4:quartz的scheduler是一个大管家,在service中也能够看到调度任务都是由它来控制的(将其注入的)

5:目前添加任务时,Class参数是写死的,须要扩展

6:这个是本地的job实例,还有一个remote类型的实例,目前尚未试,若是有意引入定时任务管理系统,能够考虑码云上的xxl-job开源系统,比较好用

相关文章
相关标签/搜索