立即刷新任务

yun-zuoyi
汪云昊 6 years ago
parent b405c86bdb
commit 493daf78aa

@ -250,9 +250,9 @@ public class SysTaskController extends CoreBaseController {
* code
* @return
*/
@GetMapping(value = "/get-code")
@GetMapping(value = "/get-code/{code}")
@ApiOperation(value = "根据code查询任务", notes = "根据code查询任务")
public ResultBean<SysTask> getSysTaskByCode(String code) {
public ResultBean<SysTask> getSysTaskByCode(@PathVariable("code") String code) {
try {
ValidatorBean.checkNotNull(code, "任务代码不能为空");

@ -261,7 +261,7 @@ public class SysTaskCycleController extends CoreBaseController {
*/
@GetMapping(value = "/get/{id}")
@ApiOperation(value = "查询任务周期", notes = "查询根据ID查询任务周期")
public ResultBean getSysTaskCycleById(@PathVariable("id") String id) {
public ResultBean<SysTaskCycle> getSysTaskCycleById(@PathVariable("id") String id) {
try {
// 数据校验
ValidatorBean.checkNotNull(id, "定时任务id 不能为空");

@ -420,4 +420,54 @@ public class SysTaskPlanController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @return
*/
@GetMapping(value = "/execute/{id}")
@ApiOperation(value = "立即执行", notes = "立即执行")
public ResultBean refreshTaskPlan(boolean isSkipDisablePlan) {
try {
List<SysTaskPlan> sysTaskPlanList = sysTaskPlanService.listSysTaskPlan();
ResultBean resultBean = ResultBean.success("操作成功");
SysTask sysTask;
SysTaskCycle sysTaskCycle;
for (SysTaskPlan sysTaskPlan : sysTaskPlanList) {
if(isSkipDisablePlan && sysTaskPlan.getTaskPlanStatusVal() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()){
continue;
}
sysTask = sysTaskService.getSysTaskById(sysTaskPlan.getTaskId());
sysTaskCycle = sysTaskCycleService.getSysTaskCycleById(sysTaskPlan.getTaskCycleId());
// 调用对应微服务的检查接口
LOGGER.info("微服定时任务数据校验name:{}, groupName:{}", sysTaskPlan.getName(), sysTaskPlan.getGroupName());
BaseResultBean baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd())
.checkJobExists(sysTaskPlan.getName(), sysTaskPlan.getGroupName());
if (baseResultBean.isSuccess() && baseResultBean.getResultObject() != null && !(boolean) baseResultBean.getResultObject()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("定时任务不存在")
.build();
} else if (!baseResultBean.isSuccess()) {
resultBean = ResultBean.fail(baseResultBean.getErrorMsg());
}
// 修改对应微服务的定时任务
LOGGER.info("微服修改定时任务数据taskPlan", sysTaskPlan.toString());
baseResultBean = getJobService(sysTaskPlan.getTaskSoftTypeRdd())
.editTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName(),
sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
if (!baseResultBean.isSuccess()) {
resultBean = ResultBean.fail(baseResultBean.getErrorMsg());
}
}
return resultBean;
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

Loading…
Cancel
Save