diff --git a/src/main/java/com/weilab/biology/controller/JobController.java b/src/main/java/com/weilab/biology/controller/JobController.java index 25752b4..44b6a2b 100644 --- a/src/main/java/com/weilab/biology/controller/JobController.java +++ b/src/main/java/com/weilab/biology/controller/JobController.java @@ -164,7 +164,7 @@ public class JobController { job.setParam(JSON.toJSONString(params)); jobMapper.updateById(job); - return Result.success(job); + return Result.success(JobDto.parseJob(job)); } } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/weilab/biology/service/JobService.java b/src/main/java/com/weilab/biology/service/JobService.java index fc93f59..dff1531 100644 --- a/src/main/java/com/weilab/biology/service/JobService.java +++ b/src/main/java/com/weilab/biology/service/JobService.java @@ -127,8 +127,9 @@ public class JobService { public Result updateJobStatus(Integer jobId, JobStatusEnum status, String result) { System.out.println(status.getRemark()); Job job = jobMapper.selectById(jobId); - if (job == null) + if (job == null) { return Result.getResult(CommonError.CONTENT_NOT_FOUND); + } switch (status) { case WAIT: @@ -140,13 +141,15 @@ public class JobService { case FAIL: case TIMEOUT: if (!job.getStatus().equals(JobStatusEnum.RUNNING.getKey()) - && !job.getStatus().equals(JobStatusEnum.REQED.getKey())) + && !job.getStatus().equals(JobStatusEnum.REQED.getKey())){ return Result.getResult(JobError.STATUS_UPDATE_FAIL); + } job.setCompleteTime(LocalDateTime.now()); break; case RUNNING: - if (!job.getStatus().equals(JobStatusEnum.REQED.getKey())) + if (!job.getStatus().equals(JobStatusEnum.REQED.getKey())) { return Result.getResult(JobError.STATUS_UPDATE_FAIL); + } job.setCreateTime(LocalDateTime.now()); break; } @@ -205,24 +208,24 @@ public class JobService { } /** - * 等待运行,超时时间60秒 + * 等待运行 */ private void waitRunning(Integer jobId) { - //等待60秒,检查是否已运行 + //等待120秒,检查是否已运行 taskExecutorUtil.schedule(() -> { Job job = jobMapper.selectById(jobId); if (job.getStatus().equals(JobStatusEnum.REQED.getKey())) { updateJobStatus(jobId, JobStatusEnum.FAIL); } - }, 60, TimeUnit.SECONDS); + }, 120, TimeUnit.SECONDS); - //等待4小时,查看是否执行完成 + //等待14小时,查看是否执行完成 taskExecutorUtil.schedule(() -> { Job job = jobMapper.selectById(jobId); if (job.getStatus().equals(JobStatusEnum.RUNNING.getKey())) { updateJobStatus(jobId, JobStatusEnum.TIMEOUT); } - }, 4, TimeUnit.HOURS); + }, 14, TimeUnit.HOURS); } private void sendEmail(Job job, JobStatusEnum status, String mail) {