SpringBoot-动态定时任务调度
一、业务场景
先说业务场景,根据用户输入的cron表达式进行定时调度,举个例子:如图
根据用户输入的参数,生成表达式,然后定时去执行相应的业务逻辑。
二、Controller层(不是重点)
domain类
@TableName("sys_schedule")
@Data
public class Schedule {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 类型: 时间, 周, 日
*/
@TableField("type")
private Integer type;
/**
* time 时间
*/
@TableField("day_time")
private String dayTime;
/**
* time 周
*/
@TableField("weekday")
private String weekday;
/**
* time 日
*/
@TableField("monthday")
private String monthday;
/**
* 选中状态
*/
@TableField("status")
private Integer status;
@TableField("cron")
private String cron;
@Override
public String toString() {
return "Schedule{" +
"id=" + id +
", type=" + type +
", dayTime='" + dayTime + '\'' +
", weekday='" + weekday + '\'' +
", monthday='" + monthday + '\'' +
", status=" + status +
", cron='" + cron + '\'