From cdd97483991748753cd036e60c45be0faf971b41 Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Mon, 16 Oct 2023 19:06:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=202.4.0=201.=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=B4=9F=E8=BD=BD=E5=9D=87=E8=A1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/sql/easy_retry_mysql.sql | 6 +- .../client/job/core/client/JobEndPoint.java | 4 +- .../retry/client/job/core/dto/JobContext.java | 2 +- .../core/executor/AnnotationJobExecutor.java | 2 +- .../model/request/DispatchJobRequest.java | 5 +- .../dataobject/JobBatchQueryDO.java | 18 +++ .../dataobject/JobBatchResponseDO.java | 56 ++++++++ .../mapper/JobTaskBatchMapper.java | 4 +- .../persistence/po/GroupConfig.java | 3 - .../datasource/persistence/po/Job.java | 4 +- .../persistence/po/JobLogMessage.java | 5 - .../datasource/persistence/po/JobTask.java | 6 +- .../persistence/po/JobTaskBatch.java | 4 +- .../mysql/mapper/JobTaskBatchMapper.xml | 20 ++- .../server/common/util/ClientInfoUtils.java | 32 +++++ .../easy-retry-server-job-task/pom.xml | 4 + .../job/task/dto/JobExecutorResultDTO.java | 2 - .../retry/server/job/task/dto/JobLogDTO.java | 4 - .../job/task/support/JobTaskConverter.java | 1 - .../dispatch/JobExecutorResultActor.java | 3 +- .../task/support/dispatch/JobLogActor.java | 6 - .../support/dispatch/JobTaskPrepareActor.java | 4 +- .../support/dispatch/ScanJobTaskActor.java | 2 +- .../executor/BroadcastTaskJobExecutor.java | 2 + .../support/executor/JobExecutorContext.java | 1 - .../executor/RealJobExecutorActor.java | 1 + .../batch/JobTaskBatchGenerator.java | 4 +- .../task/BroadcastTaskGenerator.java | 6 +- .../generator/task/ClusterTaskGenerator.java | 6 +- .../generator/task/ShardingTaskGenerator.java | 7 +- .../support/handler/JobTaskBatchHandler.java | 14 +- .../stop/AbstractJobTaskStopHandler.java | 2 +- .../stop/BroadcastTaskStopHandler.java | 4 +- .../support/stop/ClusterTaskStopHandler.java | 4 +- .../support/stop/ShardingTaskStopHandler.java | 4 +- .../job/task/support/timer/JobTimerTask.java | 2 +- .../server/dispatch/ConsumerBucketActor.java | 3 + .../easy-retry-server-web/pom.xml | 4 + .../web/model/request/JobBatchQueryVO.java | 3 + .../web/model/request/JobRequestVO.java | 4 +- .../web/model/response/JobTaskResponseVO.java | 4 +- .../convert/JobBatchResponseVOConverter.java | 3 +- .../web/service/impl/JobBatchServiceImpl.java | 18 ++- .../web/service/impl/JobServiceImpl.java | 15 +- frontend/src/utils/enum.js | 16 +-- .../config/basicConfigForm/GroupForm.vue | 32 ++--- frontend/src/views/job/JobBatchInfo.vue | 2 +- frontend/src/views/job/JobBatchList.vue | 136 +++++++++--------- frontend/src/views/job/JobLogMessageList.vue | 5 - frontend/src/views/job/JobTaskList.vue | 20 ++- frontend/src/views/job/from/JobFrom.vue | 12 +- 51 files changed, 326 insertions(+), 205 deletions(-) create mode 100644 easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java create mode 100644 easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/util/ClientInfoUtils.java diff --git a/doc/sql/easy_retry_mysql.sql b/doc/sql/easy_retry_mysql.sql index f76dc49c..7c152d6e 100644 --- a/doc/sql/easy_retry_mysql.sql +++ b/doc/sql/easy_retry_mysql.sql @@ -221,7 +221,6 @@ CREATE TABLE `job` ( `job_name` varchar(64) NOT NULL COMMENT '名称', `args_str` text NOT NULL COMMENT '执行方法参数', `args_type` tinyint(4) NOT NULL DEFAULT '' COMMENT '参数类型 ', - `ext_attrs` text COMMENT '扩展字段', `next_trigger_at` datetime NOT NULL COMMENT '下次触发时间', `job_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '重试状态 0、关闭、1、开启', `task_type` varchar(255) DEFAULT NULL COMMENT '任务类型 1、集群 2、广播 3、切片', @@ -237,6 +236,7 @@ CREATE TABLE `job` ( `retry_interval` int(11) NOT NULL DEFAULT '0' COMMENT '重试间隔(s)', `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', @@ -268,7 +268,7 @@ CREATE TABLE `job_task` ( `result_message` text NOT NULL COMMENT '执行结果', `args_str` text NOT NULL COMMENT '执行方法参数', `args_type` varchar(16) NOT NULL DEFAULT '' COMMENT '参数类型 text/json', - `ext_attrs` text NOT NULL COMMENT '扩展字段', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`) @@ -284,6 +284,6 @@ CREATE TABLE `job_task_batch` ( `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='任务批次'; diff --git a/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/client/JobEndPoint.java b/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/client/JobEndPoint.java index ef616f2f..2862a9a9 100644 --- a/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/client/JobEndPoint.java +++ b/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/client/JobEndPoint.java @@ -38,12 +38,12 @@ public class JobEndPoint { jobContext.setTaskId(dispatchJob.getTaskId()); jobContext.setTaskBatchId(dispatchJob.getTaskBatchId()); jobContext.setGroupName(dispatchJob.getGroupName()); - jobContext.setExecutorName(dispatchJob.getExecutorName()); + jobContext.setExecutorInfo(dispatchJob.getExecutorInfo()); jobContext.setParallelNum(dispatchJob.getParallelNum()); jobContext.setTaskType(dispatchJob.getTaskType()); jobContext.setExecutorTimeout(dispatchJob.getExecutorTimeout()); - JobExecutorInfo jobExecutorInfo = JobExecutorInfoCache.get(jobContext.getExecutorName()); + JobExecutorInfo jobExecutorInfo = JobExecutorInfoCache.get(jobContext.getExecutorInfo()); if (jobExecutorInfo.isAnnotation()) { IJobExecutor iJobExecutor = SpringContext.getBeanByType(AnnotationJobExecutor.class); iJobExecutor.jobExecute(jobContext); diff --git a/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/dto/JobContext.java b/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/dto/JobContext.java index ad0b69db..4b3ca135 100644 --- a/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/dto/JobContext.java +++ b/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/dto/JobContext.java @@ -17,7 +17,7 @@ public class JobContext { private String groupName; - private String executorName; + private String executorInfo; /** * 任务类型 diff --git a/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/executor/AnnotationJobExecutor.java b/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/executor/AnnotationJobExecutor.java index 410290b8..ed5903d9 100644 --- a/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/executor/AnnotationJobExecutor.java +++ b/easy-retry-client/easy-retry-client-job-core/src/main/java/com/aizuda/easy/retry/client/job/core/executor/AnnotationJobExecutor.java @@ -19,7 +19,7 @@ public class AnnotationJobExecutor extends AbstractJobExecutor { @Override protected ExecuteResult doJobExecute(final JobContext jobContext) { - JobExecutorInfo jobExecutorInfo = JobExecutorInfoCache.get(jobContext.getExecutorName()); + JobExecutorInfo jobExecutorInfo = JobExecutorInfoCache.get(jobContext.getExecutorInfo()); return (ExecuteResult) ReflectionUtils.invokeMethod(jobExecutorInfo.getMethod(), jobExecutorInfo.getExecutor(), jobContext); } } diff --git a/easy-retry-common/easy-retry-common-client-api/src/main/java/com/aizuda/easy/retry/client/model/request/DispatchJobRequest.java b/easy-retry-common/easy-retry-common-client-api/src/main/java/com/aizuda/easy/retry/client/model/request/DispatchJobRequest.java index 6a38bd85..aff3a966 100644 --- a/easy-retry-common/easy-retry-common-client-api/src/main/java/com/aizuda/easy/retry/client/model/request/DispatchJobRequest.java +++ b/easy-retry-common/easy-retry-common-client-api/src/main/java/com/aizuda/easy/retry/client/model/request/DispatchJobRequest.java @@ -33,13 +33,14 @@ public class DispatchJobRequest { @NotNull(message = "executorType 不能为空") private Integer executorType; - @NotBlank(message = "executorName 不能为空") - private String executorName; + @NotBlank(message = "executorInfo 不能为空") + private String executorInfo; private Integer shardingTotal; private Integer shardingIndex; + @NotBlank(message = "executorTimeout 不能为空") private Integer executorTimeout; } diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java new file mode 100644 index 00000000..21f50b3a --- /dev/null +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java @@ -0,0 +1,18 @@ +package com.aizuda.easy.retry.template.datasource.persistence.dataobject; + +import lombok.Data; + +/** + * @author www.byteblogs.com + * @date 2023-10-15 23:03:01 + * @since 2.4.0 + */ +@Data +public class JobBatchQueryDO { + + private String groupName; + private Integer taskBatchStatus; + private String jobName; + private Long jobId; + +} diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchResponseDO.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchResponseDO.java index 68eec676..267d8d64 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchResponseDO.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchResponseDO.java @@ -2,6 +2,8 @@ package com.aizuda.easy.retry.template.datasource.persistence.dataobject; import lombok.Data; +import java.time.LocalDateTime; + /** * @author www.byteblogs.com * @date 2023-10-15 23:03:01 @@ -9,4 +11,58 @@ import lombok.Data; */ @Data public class JobBatchResponseDO { + + private Long id; + + /** + * 组名称 + */ + private String groupName; + + /** + * 名称 + */ + private String jobName; + + /** + * 任务信息id + */ + private Long jobId; + + /** + * 任务状态 0、失败 1、成功 + */ + private Integer taskStatus; + + /** + * 创建时间 + */ + private LocalDateTime createDt; + + /** + * 任务执行时间 + */ + private LocalDateTime executionAt; + + /** + * 操作原因 + */ + private Integer operationReason; + + /** + * 执行器类型 1、Java + */ + private Integer executorType; + + /** + * 执行器名称 + */ + private String executorName; + + + private Integer taskType; + private Integer blockStrategy; + private Integer triggerType; + + } diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/JobTaskBatchMapper.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/JobTaskBatchMapper.java index c5d98939..324063a9 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/JobTaskBatchMapper.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/JobTaskBatchMapper.java @@ -1,8 +1,10 @@ package com.aizuda.easy.retry.template.datasource.persistence.mapper; +import com.aizuda.easy.retry.template.datasource.persistence.dataobject.JobBatchQueryDO; import com.aizuda.easy.retry.template.datasource.persistence.dataobject.JobBatchResponseDO; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTaskBatch; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -19,5 +21,5 @@ import java.util.List; @Mapper public interface JobTaskBatchMapper extends BaseMapper { - List selectJobBatchList(); + List selectJobBatchList(IPage iPage, @Param("queryDO") JobBatchQueryDO queryDO); } diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java index b64f2b76..6d653caa 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java @@ -19,9 +19,6 @@ public class GroupConfig implements Serializable { private Integer groupPartition; - @Deprecated - private Integer routeKey; - private Integer idGeneratorMode; private Integer version; diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java index 1314550f..a515470a 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java @@ -75,9 +75,9 @@ public class Job implements Serializable { private Integer executorType; /** - * 执行器名称 + * 执行器信息 */ - private String executorName; + private String executorInfo; /** * 触发类型 1.CRON 表达式 2. 固定时间 diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobLogMessage.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobLogMessage.java index 972500d2..c04f9af0 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobLogMessage.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobLogMessage.java @@ -56,11 +56,6 @@ public class JobLogMessage implements Serializable { */ private LocalDateTime createDt; - /** - * 客户端信息 - */ - private String clientAddress; - /** * 调度信息 */ diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTask.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTask.java index 4e2a2a20..1e43f493 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTask.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTask.java @@ -52,9 +52,9 @@ public class JobTask implements Serializable { private Long parentId; /** - * 执行的状态 0、失败 1、成功 + * 执行状态 */ - private Integer executeStatus; + private Integer taskStatus; /** * 重试次数 @@ -69,7 +69,7 @@ public class JobTask implements Serializable { /** * 客户端ID */ - private String clientId; + private String clientInfo; /** * 执行方法参数 diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java index 80d546c5..c6314445 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java @@ -42,9 +42,9 @@ public class JobTaskBatch implements Serializable { private Long jobId; /** - * 任务状态 0、失败 1、成功 + * 任务批次状态 */ - private Integer taskStatus; + private Integer taskBatchStatus; /** * 创建时间 diff --git a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml index 94033ea9..9c575bed 100644 --- a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml +++ b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml @@ -12,8 +12,26 @@ - SELECT a.*, b.job_name, b.task_type, b.block_strategy, b.trigger_type FROM job_task_batch a join job b on a.job_id = b.id + + + and job_id = #{queryDO.jobId} + + + and a.group_name = #{queryDO.groupName} + + + and task_status = #{queryDO.taskBatchStatus} + + + and job_name like #{queryDO.jobName} + + and a.deleted = 0 + + diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/util/ClientInfoUtils.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/util/ClientInfoUtils.java new file mode 100644 index 00000000..61d61147 --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/util/ClientInfoUtils.java @@ -0,0 +1,32 @@ +package com.aizuda.easy.retry.server.common.util; + +import cn.hutool.core.util.StrUtil; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.google.common.base.Splitter; + +import java.util.List; + +/** + * @author: www.byteblogs.com + * @date : 2023-10-16 15:20 + * @since : 2.4.0 + */ +public class ClientInfoUtils { + + public static String generate(RegisterNodeInfo registerNodeInfo) { + return registerNodeInfo + StrUtil.AT + registerNodeInfo.address(); + } + + public static String clientId(String clientInfo) { + return split(clientInfo).get(0); + } + + public static String address(String clientInfo) { + return split(clientInfo).get(1); + } + + public static List split(String clientInfo) { + return Splitter.on(StrUtil.AT).trimResults().splitToList(clientInfo); + } + +} diff --git a/easy-retry-server/easy-retry-server-job-task/pom.xml b/easy-retry-server/easy-retry-server-job-task/pom.xml index 3c17ce30..f3cfdb4c 100644 --- a/easy-retry-server/easy-retry-server-job-task/pom.xml +++ b/easy-retry-server/easy-retry-server-job-task/pom.xml @@ -55,6 +55,10 @@ com.github.rholder guava-retrying + + com.aizuda + easy-retry-server-retry-task + diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobExecutorResultDTO.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobExecutorResultDTO.java index 26cb15d9..7820ba46 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobExecutorResultDTO.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobExecutorResultDTO.java @@ -22,8 +22,6 @@ public class JobExecutorResultDTO { private String message; - private String clientId; - private Integer taskType; private Object result; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobLogDTO.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobLogDTO.java index 8809d390..cdd41106 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobLogDTO.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobLogDTO.java @@ -30,10 +30,6 @@ public class JobLogDTO { */ private Long taskId; - /** - * 执行的客户端信息 - */ - private String clientId; /** * 调度信息 diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java index e329b9ff..8ecd7f82 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java @@ -68,7 +68,6 @@ public interface JobTaskConverter { @Mapping(source = "jobTask.groupName", target = "groupName"), @Mapping(source = "jobTask.jobId", target = "jobId"), @Mapping(source = "jobTask.taskBatchId", target = "taskBatchId"), - @Mapping(source = "jobTask.clientId", target = "clientId"), @Mapping(source = "jobTask.id", target = "taskId"), @Mapping(source = "jobTask.argsStr", target = "argsStr"), @Mapping(source = "jobTask.argsType", target = "argsType"), diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobExecutorResultActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobExecutorResultActor.java index 7a399dc9..3db10161 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobExecutorResultActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobExecutorResultActor.java @@ -50,7 +50,7 @@ public class JobExecutorResultActor extends AbstractActor { @Override protected void doInTransactionWithoutResult(final TransactionStatus status) { JobTask jobTask = new JobTask(); - jobTask.setExecuteStatus(result.getTaskStatus()); + jobTask.setTaskStatus(result.getTaskStatus()); if (Objects.nonNull(result.getResult())) { jobTask.setResultMessage(JsonUtil.toJsonString(result.getResult())); } @@ -66,7 +66,6 @@ public class JobExecutorResultActor extends AbstractActor { JobLogDTO jobLogDTO = JobTaskConverter.INSTANCE.toJobLogDTO(result); jobLogDTO.setMessage(result.getMessage()); - jobLogDTO.setClientId(result.getClientId()); jobLogDTO.setTaskId(result.getTaskId()); ActorRef actorRef = ActorGenerator.jobLogActor(); actorRef.tell(jobLogDTO, actorRef); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java index e71f1fb9..9f1f93ee 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java @@ -47,12 +47,6 @@ public class JobLogActor extends AbstractActor { private void saveLogMessage(JobLogDTO jobLogDTO) { JobLogMessage jobLogMessage = JobTaskConverter.INSTANCE.toJobLogMessage(jobLogDTO); - if (Objects.nonNull(jobLogDTO.getClientId())) { - Optional.ofNullable(CacheRegisterTable.getServerNode(jobLogDTO.getGroupName(), jobLogDTO.getClientId())).ifPresent(registerNodeInfo -> { - jobLogMessage.setClientAddress(registerNodeInfo.address()); - }); - } - jobLogMessage.setCreateDt(LocalDateTime.now()); jobLogMessage.setMessage(Optional.ofNullable(jobLogDTO.getMessage()).orElse(StrUtil.EMPTY)); jobLogMessage.setTaskId(Optional.ofNullable(jobLogMessage.getTaskId()).orElse(0L)); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobTaskPrepareActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobTaskPrepareActor.java index 425e01c4..141b4002 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobTaskPrepareActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobTaskPrepareActor.java @@ -53,7 +53,7 @@ public class JobTaskPrepareActor extends AbstractActor { List notCompleteJobTaskBatchList = jobTaskBatchMapper.selectList(new LambdaQueryWrapper() .eq(JobTaskBatch::getJobId, prepare.getJobId()) - .in(JobTaskBatch::getTaskStatus, NOT_COMPLETE)); + .in(JobTaskBatch::getTaskBatchStatus, NOT_COMPLETE)); // 说明所以任务已经完成 if (CollectionUtils.isEmpty(notCompleteJobTaskBatchList)) { @@ -64,7 +64,7 @@ public class JobTaskPrepareActor extends AbstractActor { prepare.setExecutionAt(jobTaskBatch.getExecutionAt()); prepare.setTaskBatchId(jobTaskBatch.getId()); for (JobPrePareHandler prePareHandler : prePareHandlers) { - if (prePareHandler.matches(jobTaskBatch.getTaskStatus())) { + if (prePareHandler.matches(jobTaskBatch.getTaskBatchStatus())) { prePareHandler.handler(prepare); break; } diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/ScanJobTaskActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/ScanJobTaskActor.java index a430abb9..ef580a45 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/ScanJobTaskActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/ScanJobTaskActor.java @@ -11,9 +11,9 @@ import com.aizuda.easy.retry.server.common.dto.ScanTask; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.server.common.util.PartitionTaskUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; -import com.aizuda.easy.retry.server.job.task.support.WaitStrategy; import com.aizuda.easy.retry.server.job.task.dto.JobPartitionTask; import com.aizuda.easy.retry.server.job.task.dto.JobTaskPrepareDTO; +import com.aizuda.easy.retry.server.job.task.support.WaitStrategy; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/BroadcastTaskJobExecutor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/BroadcastTaskJobExecutor.java index 22f84936..e3b61bad 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/BroadcastTaskJobExecutor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/BroadcastTaskJobExecutor.java @@ -2,6 +2,7 @@ package com.aizuda.easy.retry.server.job.task.support.executor; import akka.actor.ActorRef; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.util.ClientInfoUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.server.job.task.dto.RealJobExecutorDTO; import com.aizuda.easy.retry.server.job.task.enums.TaskTypeEnum; @@ -33,6 +34,7 @@ public class BroadcastTaskJobExecutor extends AbstractJobExecutor { for (JobTask jobTask : taskList) { RealJobExecutorDTO realJobExecutor = JobTaskConverter.INSTANCE.toRealJobExecutorDTO(context, jobTask); + realJobExecutor.setClientId(ClientInfoUtils.clientId(jobTask.getClientInfo())); ActorRef actorRef = ActorGenerator.jobRealTaskExecutorActor(); actorRef.tell(realJobExecutor, actorRef); } diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/JobExecutorContext.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/JobExecutorContext.java index e8daaa27..6d89384b 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/JobExecutorContext.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/JobExecutorContext.java @@ -63,7 +63,6 @@ public class JobExecutorContext { private String executorName; - private String clientId; /** * 最大重试次数 diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/RealJobExecutorActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/RealJobExecutorActor.java index b9503066..234e76d4 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/RealJobExecutorActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/RealJobExecutorActor.java @@ -107,6 +107,7 @@ public class RealJobExecutorActor extends AbstractActor { LogUtils.error(log, "任务调度失败. taskInstanceId:[{}] count:[{}]", realJobExecutorDTO.getTaskBatchId(), attempt.getAttemptNumber(), attempt.getExceptionCause()); JobTask jobTask = new JobTask(); + jobTask.setId(realJobExecutorDTO.getTaskId()); jobTask.setRetryCount((int) attempt.getAttemptNumber()); jobTaskMapper.updateById(jobTask); } diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/batch/JobTaskBatchGenerator.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/batch/JobTaskBatchGenerator.java index 5bca631f..a12f2c5e 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/batch/JobTaskBatchGenerator.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/batch/JobTaskBatchGenerator.java @@ -41,14 +41,14 @@ public class JobTaskBatchGenerator { // 无执行的节点 if (CollectionUtils.isEmpty(CacheRegisterTable.getServerNodeSet(context.getGroupName()))) { - jobTaskBatch.setTaskStatus(JobTaskBatchStatusEnum.CANCEL.getStatus()); + jobTaskBatch.setTaskBatchStatus(JobTaskBatchStatusEnum.CANCEL.getStatus()); jobTaskBatch.setOperationReason(JobOperationReasonEnum.NOT_CLIENT.getReason()); Assert.isTrue(1 == jobTaskBatchMapper.insert(jobTaskBatch), () -> new EasyRetryServerException("新增调度任务失败.jobId:[{}]", context.getJobId())); return; } // 生成一个新的任务 - jobTaskBatch.setTaskStatus(JobTaskBatchStatusEnum.WAITING.getStatus()); + jobTaskBatch.setTaskBatchStatus(JobTaskBatchStatusEnum.WAITING.getStatus()); Assert.isTrue(1 == jobTaskBatchMapper.insert(jobTaskBatch), () -> new EasyRetryServerException("新增调度任务失败.jobId:[{}]", context.getJobId())); // 进入时间轮 diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java index ef8adb2a..86c03d44 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/BroadcastTaskGenerator.java @@ -6,11 +6,11 @@ import com.aizuda.easy.retry.common.core.enums.JobTaskStatusEnum; import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.util.ClientInfoUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.server.job.task.enums.TaskTypeEnum; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper; -import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; @@ -55,10 +55,10 @@ public class BroadcastTaskGenerator extends AbstractJobTaskGenerator { List jobTasks = new ArrayList<>(serverNodes.size()); for (RegisterNodeInfo serverNode : serverNodes) { JobTask jobTask = JobTaskConverter.INSTANCE.toJobTaskInstance(context); - jobTask.setClientId(serverNode.getHostId()); + jobTask.setClientInfo(ClientInfoUtils.generate(serverNode)); jobTask.setArgsType(context.getArgsType()); jobTask.setArgsStr(context.getArgsStr()); - jobTask.setExecuteStatus(JobTaskStatusEnum.RUNNING.getStatus()); + jobTask.setTaskStatus(JobTaskStatusEnum.RUNNING.getStatus()); jobTask.setResultMessage(Optional.ofNullable(jobTask.getResultMessage()).orElse(StrUtil.EMPTY)); Assert.isTrue(1 == jobTaskMapper.insert(jobTask), () -> new EasyRetryServerException("新增任务实例失败")); jobTasks.add(jobTask); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ClusterTaskGenerator.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ClusterTaskGenerator.java index 7cd60dbc..76099903 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ClusterTaskGenerator.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ClusterTaskGenerator.java @@ -6,11 +6,11 @@ import com.aizuda.easy.retry.common.core.enums.JobTaskStatusEnum; import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.server.common.handler.ClientNodeAllocateHandler; +import com.aizuda.easy.retry.server.common.util.ClientInfoUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.server.job.task.enums.TaskTypeEnum; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper; -import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; @@ -54,10 +54,10 @@ public class ClusterTaskGenerator extends AbstractJobTaskGenerator { // 新增任务实例 JobTask jobTask = JobTaskConverter.INSTANCE.toJobTaskInstance(context); - jobTask.setClientId(serverNode.getHostId()); + jobTask.setClientInfo(ClientInfoUtils.generate(serverNode)); jobTask.setArgsType(context.getArgsType()); jobTask.setArgsStr(context.getArgsStr()); - jobTask.setExecuteStatus(JobTaskStatusEnum.RUNNING.getStatus()); + jobTask.setTaskStatus(JobTaskStatusEnum.RUNNING.getStatus()); jobTask.setResultMessage(Optional.ofNullable(jobTask.getResultMessage()).orElse(StrUtil.EMPTY)); Assert.isTrue(1 == jobTaskMapper.insert(jobTask), () -> new EasyRetryServerException("新增任务实例失败")); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ShardingTaskGenerator.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ShardingTaskGenerator.java index 9c87a346..13095c00 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ShardingTaskGenerator.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/generator/task/ShardingTaskGenerator.java @@ -7,11 +7,10 @@ import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.server.common.handler.ClientNodeAllocateHandler; +import com.aizuda.easy.retry.server.common.util.ClientInfoUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.server.job.task.enums.TaskTypeEnum; -import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper; -import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask; import com.google.common.base.Splitter; import com.google.common.collect.Lists; @@ -62,10 +61,10 @@ public class ShardingTaskGenerator extends AbstractJobTaskGenerator { RegisterNodeInfo registerNodeInfo = nodeInfoList.get(Integer.parseInt(key) % serverNodes.size()); // 新增任务实例 JobTask jobTask = JobTaskConverter.INSTANCE.toJobTaskInstance(context); - jobTask.setClientId(registerNodeInfo.getHostId()); + jobTask.setClientInfo(ClientInfoUtils.generate(registerNodeInfo)); jobTask.setArgsType(context.getArgsType()); jobTask.setArgsStr(value); - jobTask.setExecuteStatus(JobTaskStatusEnum.RUNNING.getStatus()); + jobTask.setTaskStatus(JobTaskStatusEnum.RUNNING.getStatus()); jobTask.setResultMessage(Optional.ofNullable(jobTask.getResultMessage()).orElse(StrUtil.EMPTY)); Assert.isTrue(1 == jobTaskMapper.insert(jobTask), () -> new EasyRetryServerException("新增任务实例失败")); }); 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 245169d3..d33b392e 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 @@ -27,24 +27,24 @@ public class JobTaskBatchHandler { public boolean complete(Long taskBatchId) { List jobTasks = jobTaskMapper.selectList( - new LambdaQueryWrapper().select(JobTask::getExecuteStatus) + new LambdaQueryWrapper().select(JobTask::getTaskStatus) .eq(JobTask::getTaskBatchId, taskBatchId)); - if (jobTasks.stream().anyMatch(jobTask -> JobTaskStatusEnum.NOT_COMPLETE.contains(jobTask.getExecuteStatus()))) { + if (jobTasks.stream().anyMatch(jobTask -> JobTaskStatusEnum.NOT_COMPLETE.contains(jobTask.getTaskStatus()))) { return false; } - long failCount = jobTasks.stream().filter(jobTask -> jobTask.getExecuteStatus() == JobTaskBatchStatusEnum.FAIL.getStatus()).count(); - long stopCount = jobTasks.stream().filter(jobTask -> jobTask.getExecuteStatus() == JobTaskBatchStatusEnum.STOP.getStatus()).count(); + long failCount = jobTasks.stream().filter(jobTask -> jobTask.getTaskStatus() == JobTaskBatchStatusEnum.FAIL.getStatus()).count(); + long stopCount = jobTasks.stream().filter(jobTask -> jobTask.getTaskStatus() == JobTaskBatchStatusEnum.STOP.getStatus()).count(); JobTaskBatch jobTaskBatch = new JobTaskBatch(); jobTaskBatch.setId(taskBatchId); if (failCount > 0) { - jobTaskBatch.setTaskStatus(JobTaskBatchStatusEnum.FAIL.getStatus()); + jobTaskBatch.setTaskBatchStatus(JobTaskBatchStatusEnum.FAIL.getStatus()); } else if (stopCount > 0) { - jobTaskBatch.setTaskStatus(JobTaskBatchStatusEnum.STOP.getStatus()); + jobTaskBatch.setTaskBatchStatus(JobTaskBatchStatusEnum.STOP.getStatus()); } else { - jobTaskBatch.setTaskStatus(JobTaskBatchStatusEnum.SUCCESS.getStatus()); + jobTaskBatch.setTaskBatchStatus(JobTaskBatchStatusEnum.SUCCESS.getStatus()); } jobTaskBatchMapper.updateById(jobTaskBatch); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/AbstractJobTaskStopHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/AbstractJobTaskStopHandler.java index ab67c716..94145d60 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/AbstractJobTaskStopHandler.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/AbstractJobTaskStopHandler.java @@ -31,7 +31,7 @@ public abstract class AbstractJobTaskStopHandler implements JobTaskStopHandler, List jobTasks = jobTaskMapper.selectList( new LambdaQueryWrapper() .eq(JobTask::getTaskBatchId, context.getTaskBatchId()) - .in(JobTask::getExecuteStatus, JobTaskStatusEnum.NOT_COMPLETE) + .in(JobTask::getTaskStatus, JobTaskStatusEnum.NOT_COMPLETE) ); if (CollectionUtils.isEmpty(jobTasks)) { diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/BroadcastTaskStopHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/BroadcastTaskStopHandler.java index d3aad3d5..665cb4be 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/BroadcastTaskStopHandler.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/BroadcastTaskStopHandler.java @@ -2,6 +2,7 @@ package com.aizuda.easy.retry.server.job.task.support.stop; import akka.actor.ActorRef; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.util.ClientInfoUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.server.job.task.dto.RealStopTaskInstanceDTO; import com.aizuda.easy.retry.server.job.task.enums.TaskTypeEnum; @@ -27,9 +28,8 @@ public class BroadcastTaskStopHandler extends AbstractJobTaskStopHandler { public void doStop(TaskStopJobContext context) { for (final JobTask jobTask : context.getJobTasks()) { - String clientId = jobTask.getClientId(); RealStopTaskInstanceDTO taskInstanceDTO = JobTaskConverter.INSTANCE.toRealStopTaskInstanceDTO(context); - taskInstanceDTO.setClientId(clientId); + taskInstanceDTO.setClientId(ClientInfoUtils.clientId(jobTask.getClientInfo())); ActorRef actorRef = ActorGenerator.jobRealStopTaskInstanceActor(); actorRef.tell(taskInstanceDTO, actorRef); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ClusterTaskStopHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ClusterTaskStopHandler.java index fe90d173..800c1b26 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ClusterTaskStopHandler.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ClusterTaskStopHandler.java @@ -2,6 +2,7 @@ package com.aizuda.easy.retry.server.job.task.support.stop; import akka.actor.ActorRef; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.util.ClientInfoUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.server.job.task.dto.RealStopTaskInstanceDTO; import com.aizuda.easy.retry.server.job.task.enums.TaskTypeEnum; @@ -30,9 +31,8 @@ public class ClusterTaskStopHandler extends AbstractJobTaskStopHandler { public void doStop(TaskStopJobContext context) { List jobTasks = context.getJobTasks(); - String clientId = jobTasks.get(0).getClientId(); RealStopTaskInstanceDTO taskInstanceDTO = JobTaskConverter.INSTANCE.toRealStopTaskInstanceDTO(context); - taskInstanceDTO.setClientId(clientId); + taskInstanceDTO.setClientId(ClientInfoUtils.clientId(jobTasks.get(0).getClientInfo())); ActorRef actorRef = ActorGenerator.jobRealStopTaskInstanceActor(); actorRef.tell(taskInstanceDTO, actorRef); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ShardingTaskStopHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ShardingTaskStopHandler.java index a6bb2831..928544f1 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ShardingTaskStopHandler.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/stop/ShardingTaskStopHandler.java @@ -2,6 +2,7 @@ package com.aizuda.easy.retry.server.job.task.support.stop; import akka.actor.ActorRef; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.util.ClientInfoUtils; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.server.job.task.dto.RealStopTaskInstanceDTO; import com.aizuda.easy.retry.server.job.task.enums.TaskTypeEnum; @@ -27,9 +28,8 @@ public class ShardingTaskStopHandler extends AbstractJobTaskStopHandler { public void doStop(TaskStopJobContext context) { for (final JobTask jobTask : context.getJobTasks()) { - String clientId = jobTask.getClientId(); RealStopTaskInstanceDTO taskInstanceDTO = JobTaskConverter.INSTANCE.toRealStopTaskInstanceDTO(context); - taskInstanceDTO.setClientId(clientId); + taskInstanceDTO.setClientId(ClientInfoUtils.clientId(jobTask.getClientInfo())); ActorRef actorRef = ActorGenerator.jobRealStopTaskInstanceActor(); actorRef.tell(taskInstanceDTO, actorRef); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/timer/JobTimerTask.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/timer/JobTimerTask.java index a6faea75..f01a7362 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/timer/JobTimerTask.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/timer/JobTimerTask.java @@ -69,7 +69,7 @@ public class JobTimerTask implements TimerTask { JobTaskBatch jobTaskBatch = new JobTaskBatch(); jobTaskBatch.setId(jobTimerTaskDTO.getTaskBatchId()); jobTaskBatch.setExecutionAt(LocalDateTime.now()); - jobTaskBatch.setTaskStatus(taskStatus); + jobTaskBatch.setTaskBatchStatus(taskStatus); jobTaskBatch.setOperationReason(operationReason); Assert.isTrue(1 == jobTaskBatchMapper.updateById(jobTaskBatch), () -> new EasyRetryServerException("更新任务失败")); diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucketActor.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucketActor.java index 7c8999fa..de80d7fd 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucketActor.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/dispatch/ConsumerBucketActor.java @@ -66,6 +66,9 @@ public class ConsumerBucketActor extends AbstractActor { } private void doDispatch(final ConsumerBucket consumerBucket) { + if (CollectionUtils.isEmpty(consumerBucket.getBuckets())) { + return; + } // 查询桶对应组信息 List groupConfigs = accessTemplate.getGroupConfigAccess().list( diff --git a/easy-retry-server/easy-retry-server-web/pom.xml b/easy-retry-server/easy-retry-server-web/pom.xml index f35dc580..5fe12814 100644 --- a/easy-retry-server/easy-retry-server-web/pom.xml +++ b/easy-retry-server/easy-retry-server-web/pom.xml @@ -69,6 +69,10 @@ com.aizuda easy-retry-server-retry-task + + com.aizuda + easy-retry-server-job-task + diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java index d5aff40b..29a0218c 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java @@ -13,4 +13,7 @@ import lombok.EqualsAndHashCode; @Data public class JobBatchQueryVO extends BaseQueryVO { private Long jobId ; + private String jobName; + private Integer taskBatchStatus; + private String groupName; } diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java index 048d27e6..b5b62570 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java @@ -61,8 +61,8 @@ public class JobRequestVO { /** * 执行器名称 */ - @NotBlank(message = "executorName 不能为空") - private String executorName; + @NotBlank(message = "executorInfo 不能为空") + private String executorInfo; /** * 触发类型 1.CRON 表达式 2. 固定时间 diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/JobTaskResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/JobTaskResponseVO.java index c455669c..65d5f663 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/JobTaskResponseVO.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/JobTaskResponseVO.java @@ -37,7 +37,7 @@ public class JobTaskResponseVO { /** * 执行的状态 0、失败 1、成功 */ - private Integer executeStatus; + private Integer taskStatus; /** * 重试次数 @@ -52,7 +52,7 @@ public class JobTaskResponseVO { /** * 客户端ID */ - private String clientId; + private String clientInfo; /** * 执行方法参数 diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/JobBatchResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/JobBatchResponseVOConverter.java index a18797fa..c7d953e9 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/JobBatchResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/JobBatchResponseVOConverter.java @@ -1,6 +1,7 @@ package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.server.web.model.response.JobBatchResponseVO; +import com.aizuda.easy.retry.template.datasource.persistence.dataobject.JobBatchResponseDO; import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTaskBatch; import org.mapstruct.Mapper; @@ -20,7 +21,7 @@ public interface JobBatchResponseVOConverter { JobBatchResponseVOConverter INSTANCE = Mappers.getMapper(JobBatchResponseVOConverter.class); - List toJobBatchResponseVOs(List jobBatches); + List toJobBatchResponseVOs(List jobBatches); @Mappings({ @Mapping(source = "jobBatch.groupName", target = "groupName"), diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java index acdd645b..9f2ece89 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java @@ -1,11 +1,14 @@ package com.aizuda.easy.retry.server.web.service.impl; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.JobBatchQueryVO; import com.aizuda.easy.retry.server.web.model.response.JobBatchResponseVO; import com.aizuda.easy.retry.server.web.service.JobBatchService; import com.aizuda.easy.retry.server.web.service.convert.JobBatchResponseVOConverter; +import com.aizuda.easy.retry.template.datasource.persistence.dataobject.JobBatchQueryDO; +import com.aizuda.easy.retry.template.datasource.persistence.dataobject.JobBatchResponseDO; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskBatchMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.Job; @@ -36,17 +39,18 @@ public class JobBatchServiceImpl implements JobBatchService { PageDTO pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize()); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(JobTaskBatch::getDeleted, StatusEnum.NO.getStatus()); - - if (Objects.nonNull(queryVO.getJobId())) { - queryWrapper.eq(JobTaskBatch::getJobId, queryVO.getJobId()); + JobBatchQueryDO jobBatchQueryDO = new JobBatchQueryDO(); + if (StrUtil.isNotBlank(queryVO.getJobName())) { + jobBatchQueryDO.setJobName("%" + queryVO.getJobName() + "%"); } - PageDTO selectPage = jobTaskBatchMapper.selectPage(pageDTO, queryWrapper); + jobBatchQueryDO.setJobId(queryVO.getJobId()); + jobBatchQueryDO.setTaskBatchStatus(queryVO.getTaskBatchStatus()); + jobBatchQueryDO.setGroupName(queryVO.getGroupName()); + List batchResponseDOList = jobTaskBatchMapper.selectJobBatchList(pageDTO, jobBatchQueryDO); List batchResponseVOList = JobBatchResponseVOConverter.INSTANCE.toJobBatchResponseVOs( - selectPage.getRecords()); + batchResponseDOList); return new PageResult<>(pageDTO, batchResponseVOList); } diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java index a0f9f830..b4dbc9d1 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java @@ -4,7 +4,9 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; +import com.aizuda.easy.retry.server.job.task.support.WaitStrategy; +import com.aizuda.easy.retry.server.job.task.support.strategy.WaitStrategies.WaitStrategyContext; +import com.aizuda.easy.retry.server.job.task.support.strategy.WaitStrategies.WaitStrategyEnum; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.JobQueryVO; import com.aizuda.easy.retry.server.web.model.request.JobRequestVO; @@ -20,6 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; @@ -47,13 +50,14 @@ public class JobServiceImpl implements JobService { } if (StrUtil.isNotBlank(queryVO.getJobName())) { - queryWrapper.eq(Job::getJobName, queryVO.getJobName()); + queryWrapper.like(Job::getJobName, "%" + queryVO.getJobName() + "%"); } if (Objects.nonNull(queryVO.getJobStatus())) { queryWrapper.eq(Job::getJobStatus, queryVO.getJobStatus()); } + queryWrapper.orderByDesc(Job::getId); PageDTO selectPage = jobMapper.selectPage(pageDTO, queryWrapper); List jobResponseList = JobResponseVOConverter.INSTANCE.toJobResponseVOs(selectPage.getRecords()); @@ -71,7 +75,12 @@ public class JobServiceImpl implements JobService { @Override public boolean saveJob(JobRequestVO jobRequestVO) { Job job = JobConverter.INSTANCE.toJob(jobRequestVO); - job.setNextTriggerAt(WaitStrategies.randomWait(1, TimeUnit.SECONDS, 60, TimeUnit.SECONDS).computeRetryTime(null)); + WaitStrategy waitStrategy = WaitStrategyEnum.getWaitStrategy(jobRequestVO.getTriggerType()); + WaitStrategyContext waitStrategyContext = new WaitStrategyContext(); + waitStrategyContext.setTriggerType(jobRequestVO.getTriggerType()); + waitStrategyContext.setTriggerInterval(jobRequestVO.getTriggerInterval()); + waitStrategyContext.setNextTriggerAt(LocalDateTime.now()); + job.setNextTriggerAt(waitStrategy.computeRetryTime(waitStrategyContext)); return 1 == jobMapper.insert(job); } diff --git a/frontend/src/utils/enum.js b/frontend/src/utils/enum.js index 88aad398..8bb579a6 100644 --- a/frontend/src/utils/enum.js +++ b/frontend/src/utils/enum.js @@ -71,7 +71,7 @@ const enums = { 'color': '#e1f52d' } }, - taskStatus: { + taskBatchStatus: { '1': { 'name': '待处理', 'color': '#64a6ea' @@ -113,20 +113,8 @@ const enums = { 'name': '任务已关闭', 'color': '#087da1' } - // '4': { - // 'name': '失败', - // 'color': '#f52d80' - // }, - // '5': { - // 'name': '停止', - // 'color': '#ac2df5' - // }, - // '6': { - // 'name': '取消', - // 'color': '#f5732d' - // } }, - executeStatus: { + taskStatus: { '2': { 'name': '运行中', 'color': '#1b7ee5' diff --git a/frontend/src/views/config/basicConfigForm/GroupForm.vue b/frontend/src/views/config/basicConfigForm/GroupForm.vue index 15125219..fc67a23d 100644 --- a/frontend/src/views/config/basicConfigForm/GroupForm.vue +++ b/frontend/src/views/config/basicConfigForm/GroupForm.vue @@ -50,22 +50,22 @@ - - - 路由策略  - - - - - - {{ value }} - - + + + + + + + + + + + + + + + + diff --git a/frontend/src/views/job/JobBatchInfo.vue b/frontend/src/views/job/JobBatchInfo.vue index 907466d2..37bce619 100644 --- a/frontend/src/views/job/JobBatchInfo.vue +++ b/frontend/src/views/job/JobBatchInfo.vue @@ -59,7 +59,7 @@ export default { data () { return { jobBatchInfo: null, - taskStatus: enums.taskStatus, + taskStatus: enums.taskBatchStatus, operationReason: enums.operationReason, taskType: enums.taskType, triggerType: enums.triggerType, diff --git a/frontend/src/views/job/JobBatchList.vue b/frontend/src/views/job/JobBatchList.vue index 48c68c49..bbcb50fc 100644 --- a/frontend/src/views/job/JobBatchList.vue +++ b/frontend/src/views/job/JobBatchList.vue @@ -15,39 +15,35 @@ - - - - {{ item.sceneName }} - + + - - - {{ index.name }} + + {{ item.name }} {{ record.id }} - - - {{ taskStatus[text].name }} + + + {{ taskBatchStatus[text].name }} @@ -99,41 +95,41 @@ @@ -167,7 +163,7 @@ export default { advanced: false, // 查询参数 queryParam: {}, - taskStatus: enums.taskStatus, + taskStatus: enums.taskBatchStatus, operationReason: enums.operationReason, // 表头 columns: [ @@ -180,15 +176,15 @@ export default { dataIndex: 'groupName', ellipsis: true }, - // { - // title: '任务名称', - // dataIndex: 'jobName', - // ellipsis: true - // }, + { + title: '任务名称', + dataIndex: 'jobName', + ellipsis: true + }, { title: '状态', - dataIndex: 'taskStatus', - scopedSlots: { customRender: 'taskStatus' } + dataIndex: 'taskBatchStatus', + scopedSlots: { customRender: 'taskBatchStatus' } }, { title: '开始执行时间', diff --git a/frontend/src/views/job/JobLogMessageList.vue b/frontend/src/views/job/JobLogMessageList.vue index 2559c0b3..dd1751eb 100644 --- a/frontend/src/views/job/JobLogMessageList.vue +++ b/frontend/src/views/job/JobLogMessageList.vue @@ -36,11 +36,6 @@ export default { scopedSlots: { customRender: 'serial' }, width: '5%' }, - { - title: '客户端地址', - dataIndex: 'clientAddress', - width: '10%' - }, { title: '信息', dataIndex: 'message', diff --git a/frontend/src/views/job/JobTaskList.vue b/frontend/src/views/job/JobTaskList.vue index 50d45096..e156fc41 100644 --- a/frontend/src/views/job/JobTaskList.vue +++ b/frontend/src/views/job/JobTaskList.vue @@ -87,11 +87,14 @@ {{ record.id }} - - - {{ executeStatus[text].name }} + + + {{ taskStatus[text].name }} + + {{ text !== '' ? text.split('@')[1] : '' }} +

执行结果: {{ record.resultMessage }}
参数: {{ record.argsStr }} @@ -132,7 +135,7 @@ export default { advanced: false, // 查询参数 queryParam: {}, - executeStatus: enums.executeStatus, + taskStatus: enums.taskStatus, // 表头 columns: [ { @@ -143,6 +146,11 @@ export default { title: '组名称', dataIndex: 'groupName' }, + { + title: '地址', + dataIndex: 'clientInfo', + scopedSlots: { customRender: 'clientInfo' } + }, { title: '参数', dataIndex: 'argsStr', @@ -155,8 +163,8 @@ export default { }, { title: '状态', - dataIndex: 'executeStatus', - scopedSlots: { customRender: 'executeStatus' } + dataIndex: 'taskStatus', + scopedSlots: { customRender: 'taskStatus' } }, { title: '重试次数', diff --git a/frontend/src/views/job/from/JobFrom.vue b/frontend/src/views/job/from/JobFrom.vue index f4e6bd1d..ba97b953 100644 --- a/frontend/src/views/job/from/JobFrom.vue +++ b/frontend/src/views/job/from/JobFrom.vue @@ -4,7 +4,7 @@

- + @@ -132,7 +132,7 @@ type="textarea" :rows="1" v-decorator="[ - 'executorName', + 'executorInfo', {rules: [{ required: true, message: '请输入执行器名称', whitespace: true}]} ]" /> @@ -169,7 +169,7 @@ - + - + - + - +