ant-task

一个轻量级的定时任务管理器

简介

Spring Boot中有一个自带的**@Scheduled注解,可以用于启动定时任务,使用很方便,
但也存在着不足,例如定时任务直接写死、方法无参数、不能随时启停等等。
ant-task就是为了解决这些问题而存在的,在解决问题的同时也一如既往的方便接入,
ant-task**特性如下:

  • 图形化界面管理
  • 方便快捷接入
  • 支持随时启停任务
  • 支持动态参数传递
  • 支持动态修改任务时间
  • 支持Cron表达式
  • 支持日志ID跟踪

安装

maven

1
2
3
4
5
<dependency>
<groupId>com.github.hwywl</groupId>
<artifactId>ant-task</artifactId>
<version>1.0.1-RELEASE</version>
</dependency>

Gradle

1
implementation 'com.github.hwywl:ant-task:1.0.1-RELEASE'

使用

使用很简单,只要两步即可接入(本项目依赖Spring Boot中的spring-boot-starter-web组件)。

  1. 在pom.xml中引入上面的依赖。
  2. 在Spring Boot配置文件中设置如下配置,根据不同的配置文件二选一即可。
1
2
3
4
5
6
# application.yml

ant-task:
conf:
pool-size: 10
file-path: /home/ec2-user/server/sms/task.properties
1
2
3
4
5
6
# application.properties

# 定时任务线程池,默认为 6
ant-task.conf.pool-size=10
# 任务数据配置存储路径(必填)
ant-task.conf.file-path=/home/ec2-user/server/sms/task.properties

此时就已经成功接入了,是不是很简单,我们启动项目访问:http://localhost:{port}/task.html 进入页面。

看到页面说明我们接入成功了,接下来我们配置一个数据试一下。

新建一个测试类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 测试定时任务
* @author HWY
* 2021年9月17日09:38:26
*/
@Component("schedulingTask")
public class TaskDemo {
public void taskParams(String params) {
System.out.println("定时执行有参任务:" + params);
}

public void taskNoParams() {
System.out.println("定时执行无参任务!");
}
}

写好测试类之后我们重启项目,进入上面URL那个配置界面,进行如下配置:

配置非常简单,点击确定定时任务就开始执行了,我配置了两台测试,一个有参一个无参,来看看效果。

运行结果如下:

技术栈

  • SpringBoot
  • ThreadPoolTaskScheduler 线程池
  • Vue

感谢

  • 感谢江南一点雨提供了思路
  • 工具还有不足之处,请大家Issues ヾ(๑╹◡╹)ノ”
  • 我那么可爱你不点个star吗 φ(>ω<*)

问题建议