diff --git a/api/src/main/java/dev/jianmu/api/eventhandler/TaskInstanceEventHandler.java b/api/src/main/java/dev/jianmu/api/eventhandler/TaskInstanceEventHandler.java index 1af91de0..6c2c5b88 100644 --- a/api/src/main/java/dev/jianmu/api/eventhandler/TaskInstanceEventHandler.java +++ b/api/src/main/java/dev/jianmu/api/eventhandler/TaskInstanceEventHandler.java @@ -109,8 +109,9 @@ public class TaskInstanceEventHandler { public void handleTaskInstanceSucceedEvent(TaskInstanceSucceedEvent event) { // 任务上下文抛出事件通知流程上下文 logger.info("get TaskInstanceSucceedEvent: {}", event); - if (event.getDefKey().equals("start") || event.getDefKey().equals("end")) { + if (event.isCache()) { this.cacheApplication.executeSucceeded(event.getTaskInstanceId()); + return; } this.asyncTaskInstanceInternalApplication.succeed(event.getBusinessId()); } @@ -119,11 +120,9 @@ public class TaskInstanceEventHandler { public void handleTaskInstanceFailedEvent(TaskInstanceFailedEvent event) { // 任务上下文抛出事件通知流程上下文 logger.info("get TaskInstanceFailedEvent: {}", event); - if (event.getDefKey().equals("start") || event.getDefKey().equals("end")) { + if (event.isCache()) { this.cacheApplication.executeFailed(event.getTaskInstanceId()); - } - if (event.getDefKey().equals("start")) { - this.workflowInstanceInternalApplication.terminateByTriggerId(event.getTriggerId()); + return; } this.asyncTaskInstanceInternalApplication.stop(event.getTriggerId(), event.getBusinessId()); } diff --git a/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceFailedEvent.java b/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceFailedEvent.java index e0a7559f..c5013e4e 100644 --- a/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceFailedEvent.java +++ b/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceFailedEvent.java @@ -7,6 +7,10 @@ package dev.jianmu.task.event; * @create 2021-04-06 16:08 */ public class TaskInstanceFailedEvent extends BaseEvent { + public boolean isCache() { + return this.asyncTaskRef.equals("cache"); + } + private TaskInstanceFailedEvent() { } diff --git a/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceSucceedEvent.java b/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceSucceedEvent.java index 7ff7a37e..6c4d7801 100644 --- a/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceSucceedEvent.java +++ b/task-core/src/main/java/dev/jianmu/task/event/TaskInstanceSucceedEvent.java @@ -7,6 +7,10 @@ package dev.jianmu.task.event; * @create 2021-04-06 16:09 */ public class TaskInstanceSucceedEvent extends BaseEvent { + public boolean isCache() { + return this.asyncTaskRef.equals("cache"); + } + private TaskInstanceSucceedEvent() { }