修复调度任务手动出发执行相关bug

This commit is contained in:
aoshiguchen
2022-09-18 16:24:40 +08:00
parent eeda818041
commit 282631e7e7
10 changed files with 26 additions and 16 deletions
@@ -16,6 +16,6 @@ import java.util.Date;
public interface DataCleanMapper extends SqlMapper {
@Delete("delete from `job_log` where create_time < ?")
void cleanJobLog(Date date);
void cleanJobLog(long date);
}
@@ -56,8 +56,8 @@ public interface JobInfoMapper extends SqlMapper {
void updateEnableStatus(@Param("id") Integer id, @Param("enable") Integer enable, @Param("updateTime") Date updateTime);
@ResultType(JobInfoDO.class)
@Select("select * from job_info where enable = 1")
List<JobInfoDO> findEnableList();
@Select("select * from job_info")
List<JobInfoDO> findList();
void update(JobInfoDO jobInfoDO);
}
@@ -11,6 +11,7 @@ import fun.asgc.neutrino.proxy.server.dal.DataCleanMapper;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@@ -38,14 +39,16 @@ public class DataCleanJob implements IJobHandler {
public void execute(String s) throws Exception {
JobParams jobParams = getParams(s);
Date date = DateUtil.addDate(new Date(), Calendar.DATE, jobParams.getJobLogKeepDays());
Date date = DateUtil.addDate(new Date(), Calendar.DATE, -1 * jobParams.getJobLogKeepDays());
log.info("清理调度管理日志 date:{}", sdf.format(date));
dataCleanMapper.cleanJobLog(date);
dataCleanMapper.cleanJobLog(date.getTime());
}
public static JobParams getParams(String s) {
try {
return JSONObject.parseObject(s, JobParams.class);
if (StringUtils.isNotBlank(s)) {
return JSONObject.parseObject(s, JobParams.class);
}
} catch (Exception e) {
// ignore
}
@@ -74,6 +74,7 @@ public class JobInfoService implements IJobSource {
.setDesc(jobInfoDO.getDesc())
.setCron(jobInfoDO.getCron())
.setParam(jobInfoDO.getParam())
.setEnable(true)
);
} else {
BeanManager.getBean(JobExecutor.class).remove(String.valueOf(req.getId()));
@@ -89,7 +90,7 @@ public class JobInfoService implements IJobSource {
@Override
public List<JobInfo> sourceList() {
List<JobInfo> jobInfoList = Lists.newArrayList();
List<JobInfoDO> jobInfoDOList = jobInfoMapper.findEnableList();
List<JobInfoDO> jobInfoDOList = jobInfoMapper.findList();
if (CollectionUtil.isEmpty(jobInfoDOList)) {
return jobInfoList;
}
@@ -100,6 +101,7 @@ public class JobInfoService implements IJobSource {
.setDesc(item.getDesc())
.setCron(item.getCron())
.setParam(item.getParam())
.setEnable(EnableStatusEnum.ENABLE.getStatus().equals(item.getEnable()))
);
}
@@ -46,7 +46,7 @@ public class JobLogService implements IJobCallback {
private JobLogMapper jobLogMapper;
@Override
public void executeLog(JobInfo jobInfo, Throwable throwable) {
public void executeLog(JobInfo jobInfo, String param, Throwable throwable) {
Integer code = 0;
String msg = "";
if (null == throwable) {
@@ -60,7 +60,7 @@ public class JobLogService implements IJobCallback {
jobLogMapper.add(new JobLogDO()
.setJobId(Integer.valueOf(jobInfo.getId()))
.setHandler(jobInfo.getName())
.setParam(jobInfo.getParam())
.setParam(param)
.setCode(code)
.setMsg(msg)
.setAlarmStatus(0)