| @@ -40,9 +40,15 @@ public class ResourceOccupy { | |||||
| @ApiModelProperty("任务类型") | @ApiModelProperty("任务类型") | ||||
| private String taskType; | private String taskType; | ||||
| @ApiModelProperty("类型id") | |||||
| @ApiModelProperty("任务id") | |||||
| private Long taskId; | private Long taskId; | ||||
| @ApiModelProperty("任务id") | |||||
| private Long taskInsId; | |||||
| @ApiModelProperty("流水线id") | |||||
| private Long workflowId; | |||||
| @ApiModelProperty("流水线节点id") | @ApiModelProperty("流水线节点id") | ||||
| private String nodeId; | private String nodeId; | ||||
| } | } | ||||
| @@ -34,7 +34,7 @@ public class ResourceOccupyTask { | |||||
| } | } | ||||
| // 服务功能扣除积分 | // 服务功能扣除积分 | ||||
| @Scheduled(cron = "0 0/10 * * * ?") // 每10分钟执行一次 | |||||
| @Scheduled(cron = "0 0/1 * * * ?") // 每10分钟执行一次 | |||||
| public void serviceDeduceCredit() { | public void serviceDeduceCredit() { | ||||
| List<ServiceVersion> serviceVersions = serviceDao.getRunning(); | List<ServiceVersion> serviceVersions = serviceDao.getRunning(); | ||||
| for (ServiceVersion serviceVersion : serviceVersions) { | for (ServiceVersion serviceVersion : serviceVersions) { | ||||
| @@ -11,7 +11,7 @@ public interface ResourceOccupyService { | |||||
| Boolean haveResource(Integer computingResourceId) throws Exception; | Boolean haveResource(Integer computingResourceId) throws Exception; | ||||
| void startDeduce(Integer computingResourceId, String taskType, Long taskId, String nodeId); | |||||
| void startDeduce(Integer computingResourceId, String taskType, Long taskId, Long taskInsId, Long workflowId, String nodeId); | |||||
| void endDeduce(String taskType, Long taskId, String nodeId, Date nodeStartTime); | void endDeduce(String taskType, Long taskId, String nodeId, Date nodeStartTime); | ||||
| @@ -313,7 +313,7 @@ public class ExperimentServiceImpl implements ExperimentService { | |||||
| // 记录开始扣积分 | // 记录开始扣积分 | ||||
| for (Map.Entry<String, Map<String, Object>> entry : resourceInfo.entrySet()) { | for (Map.Entry<String, Map<String, Object>> entry : resourceInfo.entrySet()) { | ||||
| Map<String, Object> node = entry.getValue(); | Map<String, Object> node = entry.getValue(); | ||||
| resourceOccupyService.startDeduce((Integer) node.get("computing_resource_id"), Constant.TaskType_Workflow, Long.valueOf(insert.getId()), entry.getKey()); | |||||
| resourceOccupyService.startDeduce((Integer) node.get("computing_resource_id"), Constant.TaskType_Workflow, Long.valueOf(id), Long.valueOf(insert.getId()), experiment.getWorkflowId(), entry.getKey()); | |||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -206,7 +206,7 @@ public class RayServiceImpl implements RayService { | |||||
| rayInsDao.insert(rayIns); | rayInsDao.insert(rayIns); | ||||
| rayInsService.updateRayStatus(id); | rayInsService.updateRayStatus(id); | ||||
| // 记录开始扣除积分 | // 记录开始扣除积分 | ||||
| resourceOccupyService.startDeduce(ray.getComputingResourceId(), Constant.TaskType_Ray, rayIns.getId(), null); | |||||
| resourceOccupyService.startDeduce(ray.getComputingResourceId(), Constant.TaskType_Ray, id, rayIns.getId(), null, null); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| throw new RuntimeException(e); | throw new RuntimeException(e); | ||||
| } | } | ||||
| @@ -53,7 +53,7 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService { | |||||
| @Override | @Override | ||||
| @Transactional | @Transactional | ||||
| public void startDeduce(Integer computingResourceId, String taskType, Long taskId, String nodeId) { | |||||
| public void startDeduce(Integer computingResourceId, String taskType, Long taskId, Long taskInsId, Long workflowId, String nodeId) { | |||||
| ResourceOccupy resourceOccupy = new ResourceOccupy(); | ResourceOccupy resourceOccupy = new ResourceOccupy(); | ||||
| ComputingResource computingResource = computingResourceDao.queryById(computingResourceId); | ComputingResource computingResource = computingResourceDao.queryById(computingResourceId); | ||||
| resourceOccupy.setComputingResourceId(computingResourceId); | resourceOccupy.setComputingResourceId(computingResourceId); | ||||
| @@ -63,6 +63,8 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService { | |||||
| resourceOccupy.setDescription(computingResource.getDescription()); | resourceOccupy.setDescription(computingResource.getDescription()); | ||||
| resourceOccupy.setTaskType(taskType); | resourceOccupy.setTaskType(taskType); | ||||
| resourceOccupy.setTaskId(taskId); | resourceOccupy.setTaskId(taskId); | ||||
| resourceOccupy.setTaskInsId(taskInsId); | |||||
| resourceOccupy.setWorkflowId(workflowId); | |||||
| resourceOccupy.setNodeId(nodeId); | resourceOccupy.setNodeId(nodeId); | ||||
| resourceOccupyDao.save(resourceOccupy); | resourceOccupyDao.save(resourceOccupy); | ||||
| @@ -274,7 +274,7 @@ public class ServiceServiceImpl implements ServiceService { | |||||
| serviceDao.updateServiceVersion(serviceVersion); | serviceDao.updateServiceVersion(serviceVersion); | ||||
| // 记录开始扣积分 | // 记录开始扣积分 | ||||
| resourceOccupyService.startDeduce(serviceVersion.getComputingResourceId(), Constant.TaskType_Service, serviceVersion.getId(), null); | |||||
| resourceOccupyService.startDeduce(serviceVersion.getComputingResourceId(), Constant.TaskType_Service, serviceVersion.getServiceId(), serviceVersion.getId(), null, null); | |||||
| return "启动成功"; | return "启动成功"; | ||||
| } else { | } else { | ||||
| throw new RuntimeException("启动失败"); | throw new RuntimeException("启动失败"); | ||||
| @@ -517,7 +517,7 @@ public class K8sClientUtil { | |||||
| String nodeName = getNodeName(podName, namespace); | String nodeName = getNodeName(podName, namespace); | ||||
| // 记录开始扣除积分 | // 记录开始扣除积分 | ||||
| resourceOccupyService.startDeduce(devEnvironment.getComputingResourceId(), Constant.TaskType_Dev, Long.valueOf(devEnvironment.getId()), null); | |||||
| resourceOccupyService.startDeduce(devEnvironment.getComputingResourceId(), Constant.TaskType_Dev, Long.valueOf(devEnvironment.getId()), null, null, null); | |||||
| } | } | ||||
| } catch (ApiException e) { | } catch (ApiException e) { | ||||
| throw new RuntimeException("创建pod异常:" + e.getResponseBody()); | throw new RuntimeException("创建pod异常:" + e.getResponseBody()); | ||||
| @@ -3,9 +3,11 @@ | |||||
| <mapper namespace="com.ruoyi.platform.mapper.ResourceOccupyDao"> | <mapper namespace="com.ruoyi.platform.mapper.ResourceOccupyDao"> | ||||
| <insert id="save"> | <insert id="save"> | ||||
| insert into resource_occupy (user_id, computing_resource_id, credit_per_hour, description, task_type, task_id, | insert into resource_occupy (user_id, computing_resource_id, credit_per_hour, description, task_type, task_id, | ||||
| task_ins_id, workflow_id, | |||||
| node_id) | node_id) | ||||
| values (#{resourceOccupy.userId}, #{resourceOccupy.computingResourceId}, #{resourceOccupy.creditPerHour}, | values (#{resourceOccupy.userId}, #{resourceOccupy.computingResourceId}, #{resourceOccupy.creditPerHour}, | ||||
| #{resourceOccupy.description}, #{resourceOccupy.taskType}, #{resourceOccupy.taskId}, | #{resourceOccupy.description}, #{resourceOccupy.taskType}, #{resourceOccupy.taskId}, | ||||
| #{resourceOccupy.taskInsId}, #{resourceOccupy.workflowId}, | |||||
| #{resourceOccupy.nodeId}) | #{resourceOccupy.nodeId}) | ||||
| </insert> | </insert> | ||||