日志相关添加

This commit is contained in:
even 2025-05-22 10:26:26 +08:00
parent b6d4eaf89d
commit aa9f19350e
5 changed files with 32 additions and 20 deletions

View File

@ -2,12 +2,15 @@ package cd.casic.ci.process.engine.worker;
import cd.casic.ci.process.constant.CommandConstant; import cd.casic.ci.process.constant.CommandConstant;
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
import cd.casic.ci.process.engine.enums.ContextStateEnum; import cd.casic.ci.process.engine.enums.ContextStateEnum;
import cd.casic.ci.process.engine.manager.RunContextManager; import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.engine.runContext.BaseRunContext;
import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.engine.runContext.TaskRunContext;
import cd.casic.ci.process.enums.MachineSystemEnum; import cd.casic.ci.process.enums.MachineSystemEnum;
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.machine.MachineInfo; import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
import cd.casic.ci.process.process.service.machine.MachineInfoService; import cd.casic.ci.process.process.service.machine.MachineInfoService;
@ -49,6 +52,11 @@ public abstract class BaseWorker implements Runnable{
try { try {
taskRunContext.changeContextState(ContextStateEnum.READY); taskRunContext.changeContextState(ContextStateEnum.READY);
taskRunContext.changeContextState(ContextStateEnum.RUNNING); taskRunContext.changeContextState(ContextStateEnum.RUNNING);
PipBaseElement contextDef = taskRunContext.getContextDef();
PipTaskLog pipTaskLog = new PipTaskLog();
pipTaskLog.setId(contextDef.getId());
pipTaskLog.setContent("");
taskRunContext.getLocalVariables().put(EngineRuntimeConstant.LOG_KEY,pipTaskLog);
execute(taskRunContext); execute(taskRunContext);
} catch (Exception e) { } catch (Exception e) {
taskRunContext.changeContextState(ContextStateEnum.BAD_ENDING); taskRunContext.changeContextState(ContextStateEnum.BAD_ENDING);

View File

@ -6,7 +6,7 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class PipPipelineTaskLog extends BaseDO { public class PipTaskLog extends BaseDO {
private String taskId; private String taskId;
private String content; private String content;
private String id; private String id;

View File

@ -3,6 +3,7 @@ package cd.casic.ci.process.process.service.task;
import cd.casic.ci.common.pipeline.req.stage.StageCreateReq; import cd.casic.ci.common.pipeline.req.stage.StageCreateReq;
import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq; import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq;
import cd.casic.ci.common.pipeline.resp.task.TasksResp; import cd.casic.ci.common.pipeline.resp.task.TasksResp;
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.framework.commons.pojo.CommonResult; import cd.casic.framework.commons.pojo.CommonResult;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -22,5 +23,5 @@ public interface TaskService extends IService<PipTask> {
void copyTask(String taskId); void copyTask(String taskId);
Boolean updateTask(@RequestBody TaskUpdateReq req); Boolean updateTask(@RequestBody TaskUpdateReq req);
CommonResult<String> getLogContentByTaskId(@PathVariable String taskId); CommonResult<PipTaskLog> getLogContentByTaskId(@PathVariable String taskId);
} }

View File

@ -1,35 +1,29 @@
package cd.casic.ci.process.process.service.task.impl; package cd.casic.ci.process.process.service.task.impl;
import cd.casic.ci.common.pipeline.annotation.Plugin;
import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq; import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq;
import cd.casic.ci.common.pipeline.resp.task.TasksResp; import cd.casic.ci.common.pipeline.resp.task.TasksResp;
import cd.casic.ci.process.process.dal.pipeline.PipStageDao; import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.runContext.BaseRunContext;
import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; import cd.casic.ci.process.process.dal.pipeline.PipTaskDao;
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.stage.StageService;
import cd.casic.ci.process.process.service.task.TaskService; import cd.casic.ci.process.process.service.task.TaskService;
import cd.casic.framework.commons.exception.ServiceException; import cd.casic.framework.commons.exception.ServiceException;
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
import cd.casic.framework.commons.pojo.CommonResult;
import cd.casic.framework.commons.util.util.WebFrameworkUtils; import cd.casic.framework.commons.util.util.WebFrameworkUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
import org.springframework.core.type.filter.AnnotationTypeFilter;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
@ -38,6 +32,8 @@ import java.util.*;
public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements TaskService { public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements TaskService {
@Resource @Resource
private PipTaskDao taskDao; private PipTaskDao taskDao;
@Resource
private RunContextManager contextManager;
@Override @Override
@ -122,4 +118,16 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
byId.setUpdateTime(LocalDateTime.now()); byId.setUpdateTime(LocalDateTime.now());
return updateById(byId); return updateById(byId);
} }
@Override
public CommonResult<PipTaskLog> getLogContentByTaskId(String taskId) {
BaseRunContext context = contextManager.getContext(taskId);
if (context==null) {
return CommonResult.success(new PipTaskLog());
}
if (context.getLocalVariables().get(EngineRuntimeConstant.LOG_KEY) instanceof PipTaskLog log) {
return CommonResult.success(log);
}
return CommonResult.success(new PipTaskLog());
}
} }

View File

@ -1,20 +1,15 @@
package cd.casic.server.controller; package cd.casic.server.controller;
import cd.casic.ci.common.pipeline.req.task.TaskCreateReq;
import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq; import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq;
import cd.casic.ci.common.pipeline.resp.task.TasksResp; import cd.casic.ci.common.pipeline.resp.task.TasksResp;
import cd.casic.ci.process.process.dataObject.log.PipPipelineTaskLog; import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.task.TaskService; import cd.casic.ci.process.process.service.task.TaskService;
import cd.casic.framework.commons.pojo.CommonResult; import cd.casic.framework.commons.pojo.CommonResult;
import com.alibaba.fastjson.JSON;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController @RestController
@RequestMapping("/task") @RequestMapping("/task")
public class TasksController { public class TasksController {
@ -45,7 +40,7 @@ public class TasksController {
return CommonResult.success(b); return CommonResult.success(b);
} }
@PostMapping("/getLogContentByTaskId/{taskId}") @PostMapping("/getLogContentByTaskId/{taskId}")
public CommonResult<PipPipelineTaskLog> getLogContentByTaskId(@PathVariable String taskId){ public CommonResult<PipTaskLog> getLogContentByTaskId(@PathVariable String taskId){
return null; return null;
} }
} }