fix: update data structure of JobInfoVO

This commit is contained in:
Echo009 2022-01-25 14:24:12 +08:00
parent 8aa5140265
commit 9c30e5ee83

View File

@ -1,8 +1,10 @@
package tech.powerjob.server.web.response;
import com.alibaba.fastjson.JSON;
import tech.powerjob.common.enums.ExecuteType;
import tech.powerjob.common.enums.ProcessorType;
import tech.powerjob.common.enums.TimeExpressionType;
import tech.powerjob.common.model.AlarmConfig;
import tech.powerjob.common.utils.CommonUtils;
import tech.powerjob.server.common.SJ;
import tech.powerjob.common.enums.DispatchStrategy;
@ -28,66 +30,109 @@ public class JobInfoVO {
private Long id;
/* ************************** 任务基本信息 ************************** */
// 任务名称
/**
* 任务名称
*/
private String jobName;
// 任务描述
/**
* 任务描述
*/
private String jobDescription;
// 任务所属的应用ID
/**
* 任务所属的应用ID
*/
private Long appId;
// 任务自带的参数
/**
* 任务自带的参数
*/
private String jobParams;
/* ************************** 定时参数 ************************** */
// 时间表达式类型CRON/API/FIX_RATE/FIX_DELAY
/**
* 时间表达式类型CRON/API/FIX_RATE/FIX_DELAY
*/
private String timeExpressionType;
// 时间表达式CRON/NULL/LONG/LONG
/**
* 时间表达式CRON/NULL/LONG/LONG
*/
private String timeExpression;
/* ************************** 执行方式 ************************** */
// 执行类型单机/广播/MR
/**
* 执行类型单机/广播/MR
*/
private String executeType;
// 执行器类型Java/Shell
/**
* 执行器类型Java/Shell
*/
private String processorType;
// 执行器信息
/**
* 执行器信息
*/
private String processorInfo;
/* ************************** 运行时配置 ************************** */
// 最大同时运行任务数默认 1
/**
* 最大同时运行任务数默认 1
*/
private Integer maxInstanceNum;
// 并发度同时执行某个任务的最大线程数量
/**
* 并发度同时执行某个任务的最大线程数量
*/
private Integer concurrency;
// 任务整体超时时间
/**
* 任务整体超时时间
*/
private Long instanceTimeLimit;
/* ************************** 重试配置 ************************** */
private Integer instanceRetryNum;
private Integer taskRetryNum;
// 1 正常运行2 停止不再调度
/**
* 1 正常运行2 停止不再调度
*/
private boolean enable;
// 下一次调度时间
/**
* 下一次调度时间
*/
private Long nextTriggerTime;
// 下一次调度时间文字版
/**
* 下一次调度时间文字版
*/
private String nextTriggerTimeStr;
/* ************************** 繁忙机器配置 ************************** */
// 最低CPU核心数量0代表不限
/**
* 最低CPU核心数量0代表不限
*/
private double minCpuCores;
// 最低内存空间单位 GB0代表不限
/**
* 最低内存空间单位 GB0代表不限
*/
private double minMemorySpace;
// 最低磁盘空间单位 GB0代表不限
/**
* 最低磁盘空间单位 GB0代表不限
*/
private double minDiskSpace;
private Date gmtCreate;
private Date gmtModified;
/* ************************** 集群配置 ************************** */
// 指定机器运行空代表不限非空则只会使用其中的机器运行多值逗号分割
/**
* 指定机器运行空代表不限非空则只会使用其中的机器运行多值逗号分割
*/
private String designatedWorkers;
// 最大机器数量
/**
* 最大机器数量
*/
private Integer maxWorkerCount;
// 报警用户ID列表
/**
* 报警用户ID列表
*/
private List<String> notifyUserIds;
private String extra;
@ -96,6 +141,8 @@ public class JobInfoVO {
private String lifecycle;
private AlarmConfig alarmConfig;
public static JobInfoVO from(JobInfoDO jobInfoDO) {
JobInfoVO jobInfoVO = new JobInfoVO();
BeanUtils.copyProperties(jobInfoDO, jobInfoVO);
@ -118,6 +165,10 @@ public class JobInfoVO {
}
jobInfoVO.setNextTriggerTimeStr(CommonUtils.formatTime(jobInfoDO.getNextTriggerTime()));
if (!StringUtils.isEmpty(jobInfoDO.getAlarmConfig())){
jobInfoVO.setAlarmConfig(JSON.parseObject(jobInfoDO.getAlarmConfig(),AlarmConfig.class));
}
return jobInfoVO;
}
}