From bf858cfe21b77813d5e0261bd85fb4eb1f7936d3 Mon Sep 17 00:00:00 2001 From: HopeLi <1278288511@qq.com> Date: Tue, 27 May 2025 11:12:30 +0800 Subject: [PATCH 1/3] 0527 ljc --- .../scheduler/PipelineSchedulingBootstrapper.java | 4 ++-- .../scheduler/config/PipelineSchedulerConfig.java | 4 ++-- .../dao/PipelineSchedulingPropertiesDao.java | 2 ++ .../PipelineSchedulingPropertiesServiceImpl.java | 12 ++++++------ 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/PipelineSchedulingBootstrapper.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/PipelineSchedulingBootstrapper.java index b0631390..f0dddc8c 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/PipelineSchedulingBootstrapper.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/PipelineSchedulingBootstrapper.java @@ -26,7 +26,7 @@ public class PipelineSchedulingBootstrapper { private PipelineSchedulingPropertiesServiceImpl taskService; @Resource - private PipelineSchedulerConfig taskScheduler; + private PipelineSchedulerConfig pipelineSchedulerConfig; @Resource private PipelineExecutor pipelineExecutor; @@ -36,7 +36,7 @@ public class PipelineSchedulingBootstrapper { List tasks = taskService.getAllTasks(); for (PipelineSchedulingProperties task : tasks) { if (ContextStateEnum.RUNNING.getCode().equals(Integer.parseInt(task.getStatus()))) { - taskScheduler.addTask(task.getPipelineId(), ()->{ + pipelineSchedulerConfig.addTask(task.getPipelineId(), ()->{ pipelineExecutor.execute(task.getPipelineId()); }, task.getCronExpression()); } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java index 466bd545..6589d07b 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java @@ -1,6 +1,5 @@ package cd.casic.ci.process.engine.scheduler.config; -import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; import org.springframework.context.annotation.Configuration; @@ -28,8 +27,9 @@ import java.util.concurrent.ScheduledFuture; @Configuration @EnableScheduling @Slf4j +@Component("pipelineSchedulerConfig") public class PipelineSchedulerConfig implements SchedulingConfigurer { - @Resource +// @Resource private ScheduledTaskRegistrar taskRegistrar; private final Map taskFutures = new HashMap<>(); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dao/PipelineSchedulingPropertiesDao.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dao/PipelineSchedulingPropertiesDao.java index a2186a03..db90aeaa 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dao/PipelineSchedulingPropertiesDao.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dao/PipelineSchedulingPropertiesDao.java @@ -2,6 +2,7 @@ package cd.casic.ci.process.engine.scheduler.dao; import cd.casic.ci.process.engine.scheduler.dateObject.PipelineSchedulingProperties; import cd.casic.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; /** * @author HopeLi @@ -10,5 +11,6 @@ import cd.casic.framework.mybatis.core.mapper.BaseMapperX; * @Date: 2025/5/26 16:31 * @Description: */ +@Mapper public interface PipelineSchedulingPropertiesDao extends BaseMapperX { } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java index 77facf79..37e1a649 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java @@ -30,7 +30,7 @@ public class PipelineSchedulingPropertiesServiceImpl extends ServiceImpl getAllTasks() { return taskRepository.selectList(null); @@ -38,7 +38,7 @@ public class PipelineSchedulingPropertiesServiceImpl extends ServiceImpl { + pipelineSchedulerConfig.addTask(task.getPipelineId(), () -> { },task.getCronExpression()); } taskRepository.insert(task); @@ -47,24 +47,24 @@ public class PipelineSchedulingPropertiesServiceImpl extends ServiceImpl().eq("task_id", taskId)); } public void startTask(String taskId) { - taskScheduler.startTask(taskId); + pipelineSchedulerConfig.startTask(taskId); taskRepository.update(null, new UpdateWrapper() .set("status", "RUNNING").eq("task_id", taskId)); } public void stopTask(String taskId) { - taskScheduler.stopTask(taskId); + pipelineSchedulerConfig.stopTask(taskId); taskRepository.update(null, new UpdateWrapper() .set("status", "STOPPED").eq("task_id", taskId)); } From badf228bd6fe395b0506a36e15425ba90fa49048 Mon Sep 17 00:00:00 2001 From: HopeLi <1278288511@qq.com> Date: Tue, 27 May 2025 11:13:28 +0800 Subject: [PATCH 2/3] 0527 ljc --- .../engine/scheduler/config/PipelineSchedulerConfig.java | 1 - .../scheduler/dateObject/PipelineSchedulingProperties.java | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java index 6589d07b..4d744a87 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java @@ -29,7 +29,6 @@ import java.util.concurrent.ScheduledFuture; @Slf4j @Component("pipelineSchedulerConfig") public class PipelineSchedulerConfig implements SchedulingConfigurer { -// @Resource private ScheduledTaskRegistrar taskRegistrar; private final Map taskFutures = new HashMap<>(); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dateObject/PipelineSchedulingProperties.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dateObject/PipelineSchedulingProperties.java index 2e21872a..7c376a4b 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dateObject/PipelineSchedulingProperties.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/dateObject/PipelineSchedulingProperties.java @@ -3,6 +3,7 @@ package cd.casic.ci.process.engine.scheduler.dateObject; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import lombok.EqualsAndHashCode; /** * @author HopeLi @@ -12,6 +13,7 @@ import lombok.Data; * @Description: */ +@EqualsAndHashCode(callSuper = true) @Data @TableName("pip_pipeline_scheduling_properties") public class PipelineSchedulingProperties extends PipBaseElement { From 87775bc06f694851a0262fe794811545cf09b32a Mon Sep 17 00:00:00 2001 From: HopeLi <1278288511@qq.com> Date: Tue, 27 May 2025 16:11:06 +0800 Subject: [PATCH 3/3] 0527 ljc --- .../req/target/TargetManagerCreateReq.java | 10 ++++---- .../resp/target/TargetManagerResp.java | 2 +- .../config/PipelineSchedulerConfig.java | 25 +++++++++++-------- ...pelineSchedulingPropertiesServiceImpl.java | 6 ++--- .../scheduler/trigger/SchedulingTrigger.java | 19 ++++++++++++++ .../engine/worker/ScaBinaryWorker.java | 2 -- .../dataObject/target/TargetManager.java | 9 ++----- 7 files changed, 45 insertions(+), 28 deletions(-) create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/trigger/SchedulingTrigger.java diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/target/TargetManagerCreateReq.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/target/TargetManagerCreateReq.java index 8dcef841..8f9746d5 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/target/TargetManagerCreateReq.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/target/TargetManagerCreateReq.java @@ -16,11 +16,6 @@ public class TargetManagerCreateReq { */ private String targetName; - /** - * 版本 - */ - private String version; - /** * 图标 */ @@ -45,4 +40,9 @@ public class TargetManagerCreateReq { * 文件大小(byte) */ private Double totalSize; + + /** + * 组织id + */ + private String projectId; } diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/target/TargetManagerResp.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/target/TargetManagerResp.java index 2e3c347c..7433d0a3 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/target/TargetManagerResp.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/target/TargetManagerResp.java @@ -71,7 +71,7 @@ public class TargetManagerResp{ /** * 组织id */ - private Long orgId; + private String projectId; /** * 图标 diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java index 4d744a87..eb47ae38 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/config/PipelineSchedulerConfig.java @@ -11,7 +11,6 @@ import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.stereotype.Component; import java.lang.reflect.Field; -import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ScheduledFuture; @@ -38,10 +37,16 @@ public class PipelineSchedulerConfig implements SchedulingConfigurer { @Override public void configureTasks(@NotNull ScheduledTaskRegistrar taskRegistrar) { this.taskRegistrar = taskRegistrar; + log.info("ScheduledTaskRegistrar 初始化完成"); } public void addTask(String taskId, Runnable task, String cronExpression) { + if (taskRegistrar == null) { + log.error("【定时任务失败】taskRegistrar 尚未初始化,请检查调度器是否已启动"); + return; + } + CronTask cronTask = new CronTask(task, cronExpression); ScheduledTask scheduledTask = taskRegistrar.scheduleCronTask(cronTask); taskFutures.put(taskId, scheduledTask); @@ -133,13 +138,13 @@ public class PipelineSchedulerConfig implements SchedulingConfigurer { return future != null && future.isCancelled(); } - @Component - public static class PipelineSchedulerTask implements Runnable { - - @Override - public void run() { - // 定时任务逻辑代码 - System.out.println("Pipeline Task: " + new Date()); - } - } +// @Component +// public static class PipelineSchedulerTask implements Runnable { +// +// @Override +// public void run() { +// // 定时任务逻辑代码 +// System.out.println("Pipeline Task: " + new Date()); +// } +// } } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java index 37e1a649..cc96209c 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/service/impl/PipelineSchedulingPropertiesServiceImpl.java @@ -37,7 +37,7 @@ public class PipelineSchedulingPropertiesServiceImpl extends ServiceImpl { },task.getCronExpression()); } @@ -60,12 +60,12 @@ public class PipelineSchedulingPropertiesServiceImpl extends ServiceImpl() - .set("status", "RUNNING").eq("task_id", taskId)); + .set("status", String.valueOf(ContextStateEnum.RUNNING.getCode())).eq("task_id", taskId)); } public void stopTask(String taskId) { pipelineSchedulerConfig.stopTask(taskId); taskRepository.update(null, new UpdateWrapper() - .set("status", "STOPPED").eq("task_id", taskId)); + .set("status", String.valueOf(ContextStateEnum.STOP.getCode())).eq("task_id", taskId)); } } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/trigger/SchedulingTrigger.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/trigger/SchedulingTrigger.java new file mode 100644 index 00000000..59496fb6 --- /dev/null +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/scheduler/trigger/SchedulingTrigger.java @@ -0,0 +1,19 @@ +package cd.casic.ci.process.engine.scheduler.trigger; + +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.Scheduled; + +/** + * @author HopeLi + * @version v1.0 + * @ClassName SchedulingTrigger + * @Date: 2025/5/27 15:05 + * @Description: + */ +@Configuration +public class SchedulingTrigger { + @Scheduled(fixedRate = 5000) + public void triggerScheduler() { + // 用于触发调度器初始化 + } +} diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java index fcf0fa8b..f7034088 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java @@ -1,12 +1,10 @@ package cd.casic.ci.process.engine.worker; import cd.casic.ci.common.pipeline.annotation.Plugin; -import cd.casic.ci.process.engine.constant.EngineRuntimeConstant; import cd.casic.ci.process.engine.context.ConstantContextHolder; import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; -import cd.casic.ci.process.process.dataObject.log.PipTaskLog; import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline; import cd.casic.ci.process.process.dataObject.target.TargetVersion; import cd.casic.ci.process.process.dataObject.task.PipTask; diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/target/TargetManager.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/target/TargetManager.java index 4f394899..a43b2fea 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/target/TargetManager.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/target/TargetManager.java @@ -36,11 +36,6 @@ public class TargetManager extends PipBaseElement { @TableField("target_type") private String targetType; - /** - * 版本 - */ - private String version; - /** * 描述 */ @@ -84,8 +79,8 @@ public class TargetManager extends PipBaseElement { /** * 组织id */ - @TableField("org_id") - private Long orgId; + @TableField("project_id") + private String projectId; /** * 图标