|
|
@ -1,7 +1,12 @@
|
|
|
|
package ${domain}.frame.schedule;
|
|
|
|
package ${domain}.frame.schedule;
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
|
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
|
|
|
|
|
|
|
import ${domain}.frame.auth.LocalData;
|
|
|
|
|
|
|
|
import ${domain}.frame.utils.LogUtil;
|
|
|
|
|
|
|
|
import ${domain}.module.wsys.mgr.LogtaskManager;
|
|
|
|
|
|
|
|
import ${domain}.module.wsys.req.LogtaskCreateRequest;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.concurrent.ScheduledFuture;
|
|
|
|
import java.util.concurrent.ScheduledFuture;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -27,14 +32,38 @@ public abstract class RunTask implements Runnable {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
LogtaskCreateRequest request = new LogtaskCreateRequest();
|
|
|
|
|
|
|
|
request.setTaskId(taskId());
|
|
|
|
|
|
|
|
request.setTaskName(taskName());
|
|
|
|
|
|
|
|
request.setStartTime(new Date());
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
boolean before = before();
|
|
|
|
boolean before = before();
|
|
|
|
if (before) {
|
|
|
|
if (before) {
|
|
|
|
task();
|
|
|
|
task();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
after();
|
|
|
|
after();
|
|
|
|
|
|
|
|
request.setExecState("1");
|
|
|
|
|
|
|
|
request.setExecResult("成功");
|
|
|
|
|
|
|
|
request.setEndTime(new Date());
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
exception(e);
|
|
|
|
exception(e);
|
|
|
|
|
|
|
|
// 保证异常信息不会超过字段长度
|
|
|
|
|
|
|
|
String trace = LogUtil.getTrace(e);
|
|
|
|
|
|
|
|
if (trace.length() > 500) {
|
|
|
|
|
|
|
|
trace = trace.substring(0, 500);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
request.setExecState("0");
|
|
|
|
|
|
|
|
request.setExecResult(String.format("失败[%s]", trace));
|
|
|
|
|
|
|
|
request.setEndTime(new Date());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
request.setExecTime((int) (request.getEndTime().getTime() - request.getStartTime().getTime()));
|
|
|
|
|
|
|
|
LogtaskManager logtaskManager = LocalData.getBean(LogtaskManager.class);
|
|
|
|
|
|
|
|
assert logtaskManager != null;
|
|
|
|
|
|
|
|
logtaskManager.create(request, LocalData.getSysToken());
|
|
|
|
|
|
|
|
} catch (Exception ignored) {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -61,5 +90,4 @@ public abstract class RunTask implements Runnable {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public abstract ScheduledFuture<?> schedule(ThreadPoolTaskScheduler poolTaskScheduler);
|
|
|
|
public abstract ScheduledFuture<?> schedule(ThreadPoolTaskScheduler poolTaskScheduler);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|