From c20a63a7ccbc18d9e99871bdf3f1372ce8d62dc4 Mon Sep 17 00:00:00 2001
From: byteblogs168 <598092184@qq.com>
Date: Thu, 18 Jan 2024 23:14:03 +0800
Subject: [PATCH] =?UTF-8?q?feat:=202.6.0=201.=20=E4=BC=98=E5=8C=96?=
 =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E7=BA=BF=E7=A8=8B=E6=B1=A0=E9=85=8D?=
 =?UTF-8?q?=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../server/common/akka/ActorGenerator.java    |  6 ++--
 .../AbstractClientCallbackHandler.java        | 28 -------------------
 .../support/handler/JobTaskBatchHandler.java  |  1 -
 .../src/main/resources/easyretry.conf         | 21 ++++++++++++++
 4 files changed, 25 insertions(+), 31 deletions(-)

diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/ActorGenerator.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/ActorGenerator.java
index 4c74fa7a..b82c8fd3 100644
--- a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/ActorGenerator.java
+++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/ActorGenerator.java
@@ -55,6 +55,8 @@ public class ActorGenerator {
     private static final String JOB_TASK_EXECUTOR_DISPATCHER = "akka.actor.job-task-executor-dispatcher";
     private static final String JOB_TASK_EXECUTOR_RESULT_DISPATCHER = "akka.actor.job-task-executor-result-dispatcher";
     private static final String JOB_TASK_EXECUTOR_CALL_CLIENT_DISPATCHER = "akka.actor.job-task-executor-call-client-dispatcher";
+    private static final String WORKFLOW_TASK_DISPATCHER = "akka.actor.workflow-task-prepare-dispatcher";
+    private static final String WORKFLOW_TASK_EXECUTOR_DISPATCHER = "akka.actor.workflow-task-executor-dispatcher";
 
     /*----------------------------------------分布式任务调度 END----------------------------------------*/
 
@@ -203,7 +205,7 @@ public class ActorGenerator {
      */
     public static ActorRef workflowTaskPrepareActor() {
         return getJobActorSystem().actorOf(getSpringExtension().props(WORKFLOW_TASK_PREPARE_ACTOR)
-            .withDispatcher(JOB_TASK_DISPATCHER));
+            .withDispatcher(WORKFLOW_TASK_DISPATCHER));
     }
 
     /**
@@ -228,7 +230,7 @@ public class ActorGenerator {
         return getJobActorSystem()
             .actorOf(getSpringExtension()
                 .props(WORKFLOW_EXECUTOR_ACTOR)
-                .withDispatcher(JOB_TASK_EXECUTOR_DISPATCHER)
+                .withDispatcher(WORKFLOW_TASK_EXECUTOR_DISPATCHER)
             );
     }
 
diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java
index 3062ea83..6bc8d8f6 100644
--- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java
+++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java
@@ -5,7 +5,6 @@ import cn.hutool.core.util.StrUtil;
 import com.aizuda.easy.retry.common.core.enums.JobTaskStatusEnum;
 import com.aizuda.easy.retry.common.log.EasyRetryLog;
 import com.aizuda.easy.retry.server.common.akka.ActorGenerator;
-import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo;
 import com.aizuda.easy.retry.server.common.util.ClientInfoUtils;
 import com.aizuda.easy.retry.server.job.task.dto.LogMetaDTO;
 import com.aizuda.easy.retry.server.job.task.dto.RealJobExecutorDTO;
@@ -106,33 +105,6 @@ public abstract class AbstractClientCallbackHandler implements ClientCallbackHan
         return null;
     }
 
-    private void failRetry(ClientCallbackContext context) {
-
-        if (context.getTaskStatus().equals(JobTaskStatusEnum.FAIL.getStatus())) {
-            JobTask jobTask = jobTaskMapper.selectById(context.getTaskId());
-            Job job = jobMapper.selectById(context.getJobId());
-            if (jobTask == null || job == null) {
-                return;
-            }
-
-            if (jobTask.getRetryCount() < job.getMaxRetryTimes()) {
-                // 更新重试次数
-                JobTask updateJobTask = new JobTask();
-                updateJobTask.setRetryCount(1);
-                boolean success = SqlHelper.retBool(jobTaskMapper.update(updateJobTask, Wrappers.<JobTask>lambdaUpdate()
-                        .lt(JobTask::getRetryCount, job.getMaxRetryTimes())
-                        .eq(JobTask::getId, context.getTaskId())
-                ));
-
-                if (success) {
-
-                }
-
-                return;
-            }
-        }
-    }
-
     protected abstract void doCallback(ClientCallbackContext context);
 
     @Override
diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java
index 3582dd05..c7cbefe3 100644
--- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java
+++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java
@@ -91,7 +91,6 @@ public class JobTaskBatchHandler {
                         taskExecuteDTO.setWorkflowTaskBatchId(completeJobBatchDTO.getWorkflowTaskBatchId());
                         taskExecuteDTO.setTaskExecutorScene(JobTaskExecutorSceneEnum.AUTO_WORKFLOW.getType());
                         taskExecuteDTO.setParentId(completeJobBatchDTO.getWorkflowNodeId());
-                        // 这里取第一个的任务执行结果
                         taskExecuteDTO.setTaskBatchId(completeJobBatchDTO.getTaskBatchId());
                         ActorRef actorRef = ActorGenerator.workflowTaskExecutorActor();
                         actorRef.tell(taskExecuteDTO, actorRef);
diff --git a/easy-retry-server/easy-retry-server-starter/src/main/resources/easyretry.conf b/easy-retry-server/easy-retry-server-starter/src/main/resources/easyretry.conf
index b8cefac7..ea1844ea 100644
--- a/easy-retry-server/easy-retry-server-starter/src/main/resources/easyretry.conf
+++ b/easy-retry-server/easy-retry-server-starter/src/main/resources/easyretry.conf
@@ -99,5 +99,26 @@ akka {
       throughput = 10
     }
 
+    workflow-task-prepare-dispatcher {
+      type = "Dispatcher"
+      executor = "thread-pool-executor"
+      thread-pool-executor {
+        core-pool-size-min = 32
+        core-pool-size-factor = 2.0
+        core-pool-size-max = 64
+      }
+      throughput = 10
+    }
+
+    workflow-task-executor-dispatcher {
+      type = "Dispatcher"
+      executor = "thread-pool-executor"
+      thread-pool-executor {
+        core-pool-size-min = 32
+        core-pool-size-factor = 2.0
+        core-pool-size-max = 64
+      }
+      throughput = 10
+    }
   }
 }