From 95097bf7680bc3b2f52dc7bfe149c3a32ac50239 Mon Sep 17 00:00:00 2001 From: wenmo <32723967+wenmo@users.noreply.github.com> Date: Tue, 31 Oct 2023 23:47:22 +0800 Subject: [PATCH] [Fix-1615] [api] Fix submit task error but return succeed when using dolphinscheduler --- .../org/dinky/controller/APIController.java | 19 +++++++++++++++++-- .../dinky/service/impl/TaskServiceImpl.java | 2 -- .../main/java/org/dinky/job/JobResult.java | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/dinky-admin/src/main/java/org/dinky/controller/APIController.java b/dinky-admin/src/main/java/org/dinky/controller/APIController.java index fa89946097..0558de8251 100644 --- a/dinky-admin/src/main/java/org/dinky/controller/APIController.java +++ b/dinky-admin/src/main/java/org/dinky/controller/APIController.java @@ -24,6 +24,7 @@ import org.dinky.data.enums.BusinessType; import org.dinky.data.enums.Status; import org.dinky.data.exception.NotSupportExplainExcepition; +import org.dinky.data.model.ID; import org.dinky.data.model.JobInstance; import org.dinky.data.result.Result; import org.dinky.data.result.SqlExplainResult; @@ -64,11 +65,25 @@ public class APIController { private final TaskService taskService; private final JobInstanceService jobInstanceService; + // Interface compatible with DolphinScheduler + @GetMapping("/submitTask") + @ApiOperation("Submit Task") + public Result submitTask(@RequestParam Integer id) throws Exception { + taskService.initTenantByTaskId(id); + JobResult jobResult = taskService.submitTask(id, null); + if (jobResult.isSuccess()) { + return Result.succeed(jobResult, Status.EXECUTE_SUCCESS); + } else { + return Result.failed(jobResult, jobResult.getError()); + } + } + @PostMapping("/submitTask") @ApiOperation("Submit Task") // @Log(title = "Submit Task", businessType = BusinessType.SUBMIT) - public Result submitTask(@RequestBody TaskDTO taskDTO) throws Exception { - JobResult jobResult = taskService.submitTask(taskDTO.getId(), null); + public Result submitTask(@RequestBody ID id) throws Exception { + taskService.initTenantByTaskId(id.getId()); + JobResult jobResult = taskService.submitTask(id.getId(), null); if (jobResult.isSuccess()) { return Result.succeed(jobResult, Status.EXECUTE_SUCCESS); } else { diff --git a/dinky-admin/src/main/java/org/dinky/service/impl/TaskServiceImpl.java b/dinky-admin/src/main/java/org/dinky/service/impl/TaskServiceImpl.java index 0659aea90f..30b6838018 100644 --- a/dinky-admin/src/main/java/org/dinky/service/impl/TaskServiceImpl.java +++ b/dinky-admin/src/main/java/org/dinky/service/impl/TaskServiceImpl.java @@ -256,8 +256,6 @@ public String buildEnvSql(AbstractStatementDTO task) { @Override @ProcessStep(type = ProcessStepType.SUBMIT_TASK) public JobResult submitTask(Integer id, String savePointPath) throws Exception { - initTenantByTaskId(id); - TaskDTO taskDTO = this.getTaskInfoById(id); if (StringUtils.isNotBlank(savePointPath)) { diff --git a/dinky-core/src/main/java/org/dinky/job/JobResult.java b/dinky-core/src/main/java/org/dinky/job/JobResult.java index 4ed1913de0..992bc6ea1c 100644 --- a/dinky-core/src/main/java/org/dinky/job/JobResult.java +++ b/dinky-core/src/main/java/org/dinky/job/JobResult.java @@ -128,7 +128,7 @@ public JobResult( this.jobConfig = jobConfig; this.jobManagerAddress = jobManagerAddress; this.status = status; - this.success = (status == (Job.JobStatus.SUCCESS)) ? true : false; + this.success = status == (Job.JobStatus.SUCCESS); this.statement = statement; this.jobId = jobId; this.error = error;