From a5a71775dc473f428ec477f2423c2dd557b5019d Mon Sep 17 00:00:00 2001 From: skyyemperor Date: Sun, 26 Feb 2023 20:35:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=A4=A7=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: skyyemperor --- .../biology/controller/JobController.java | 2 +- .../weilab/biology/service/JobService.java | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) 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) {