Browse Source

fix:修改循环依赖bug,添加懒加载注解

pull/57/head
西大锐 1 year ago
parent
commit
877dd0ac3e
7 changed files with 29 additions and 8 deletions
  1. +8
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/jupyter/JupyterController.java
  2. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/tensorBoard/TensorBoardController.java
  3. +3
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/JupyterService.java
  4. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/TensorBoardService.java
  5. +9
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java
  6. +3
    -3
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java
  7. +2
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/PodStatusVo.java

+ 8
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/jupyter/JupyterController.java View File

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.domain.GenericsAjaxResult; import com.ruoyi.common.core.web.domain.GenericsAjaxResult;
import com.ruoyi.platform.service.JupyterService; import com.ruoyi.platform.service.JupyterService;
import com.ruoyi.platform.vo.FrameLogPathVo; import com.ruoyi.platform.vo.FrameLogPathVo;
import com.ruoyi.platform.vo.PodStatusVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
@@ -56,6 +57,13 @@ public class JupyterController extends BaseController {
return genericsSuccess(this.jupyterService.stopJupyterService(id)); return genericsSuccess(this.jupyterService.stopJupyterService(id));
} }


@PostMapping("/getStatus")
@ApiOperation("查询jupyter pod状态")
@ApiResponse
public GenericsAjaxResult<PodStatusVo> getStatus(@RequestBody FrameLogPathVo frameLogPathVo) throws Exception {
return genericsSuccess(this.jupyterService.getJupyterStatus(frameLogPathVo));
}



@GetMapping(value = "/upload") @GetMapping(value = "/upload")
public AjaxResult upload() throws Exception { public AjaxResult upload() throws Exception {


+ 2
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/tensorBoard/TensorBoardController.java View File

@@ -4,7 +4,7 @@ import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.GenericsAjaxResult; import com.ruoyi.common.core.web.domain.GenericsAjaxResult;
import com.ruoyi.platform.service.TensorBoardService; import com.ruoyi.platform.service.TensorBoardService;
import com.ruoyi.platform.vo.FrameLogPathVo; import com.ruoyi.platform.vo.FrameLogPathVo;
import com.ruoyi.platform.vo.TensorboardStatusVo;
import com.ruoyi.platform.vo.PodStatusVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
@@ -37,7 +37,7 @@ public class TensorBoardController extends BaseController {
} }
@PostMapping("/getStatus") @PostMapping("/getStatus")
@ApiResponse @ApiResponse
public GenericsAjaxResult<TensorboardStatusVo> getStatus(@RequestBody FrameLogPathVo frameLogPathVo) throws Exception {
public GenericsAjaxResult<PodStatusVo> getStatus(@RequestBody FrameLogPathVo frameLogPathVo) throws Exception {
return genericsSuccess(tensorBoardService.getTensorBoardStatus(frameLogPathVo)); return genericsSuccess(tensorBoardService.getTensorBoardStatus(frameLogPathVo));
} }
} }

+ 3
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/JupyterService.java View File

@@ -1,6 +1,7 @@
package com.ruoyi.platform.service; package com.ruoyi.platform.service;


import com.ruoyi.platform.vo.FrameLogPathVo; import com.ruoyi.platform.vo.FrameLogPathVo;
import com.ruoyi.platform.vo.PodStatusVo;


import java.io.InputStream; import java.io.InputStream;


@@ -14,4 +15,6 @@ public interface JupyterService {
String runJupyterService(Integer id); String runJupyterService(Integer id);


String stopJupyterService(Integer id) throws Exception; String stopJupyterService(Integer id) throws Exception;

PodStatusVo getJupyterStatus(FrameLogPathVo frameLogPathVo);
} }

+ 2
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/TensorBoardService.java View File

@@ -1,12 +1,12 @@
package com.ruoyi.platform.service; package com.ruoyi.platform.service;


import com.ruoyi.platform.vo.FrameLogPathVo; import com.ruoyi.platform.vo.FrameLogPathVo;
import com.ruoyi.platform.vo.TensorboardStatusVo;
import com.ruoyi.platform.vo.PodStatusVo;


public interface TensorBoardService { public interface TensorBoardService {




TensorboardStatusVo getTensorBoardStatus(FrameLogPathVo frameLogPathVo);
PodStatusVo getTensorBoardStatus(FrameLogPathVo frameLogPathVo);
/** /**
* 在集群中启动TensorBoard容器,并且返回地址,4小时后销毁 * 在集群中启动TensorBoard容器,并且返回地址,4小时后销毁
* @param frameLogPathVo * @param frameLogPathVo


+ 9
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/JupyterServiceImpl.java View File

@@ -10,10 +10,13 @@ import com.ruoyi.platform.utils.JacksonUtil;
import com.ruoyi.platform.utils.K8sClientUtil; import com.ruoyi.platform.utils.K8sClientUtil;
import com.ruoyi.platform.utils.MinioUtil; import com.ruoyi.platform.utils.MinioUtil;
import com.ruoyi.platform.utils.MlflowUtil; import com.ruoyi.platform.utils.MlflowUtil;
import com.ruoyi.platform.vo.FrameLogPathVo;
import com.ruoyi.platform.vo.PodStatusVo;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
import io.kubernetes.client.openapi.models.V1PersistentVolumeClaim; import io.kubernetes.client.openapi.models.V1PersistentVolumeClaim;
import io.kubernetes.client.openapi.models.V1Pod; import io.kubernetes.client.openapi.models.V1Pod;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import javax.annotation.Resource; import javax.annotation.Resource;
@@ -50,6 +53,7 @@ public class JupyterServiceImpl implements JupyterService {
private DevEnvironmentDao devEnvironmentDao; private DevEnvironmentDao devEnvironmentDao;


@Resource @Resource
@Lazy
private DevEnvironmentService devEnvironmentService; private DevEnvironmentService devEnvironmentService;


@Resource @Resource
@@ -118,6 +122,11 @@ public class JupyterServiceImpl implements JupyterService {
return deleteResult + ",编辑器已停止"; return deleteResult + ",编辑器已停止";
} }


@Override
public PodStatusVo getJupyterStatus(FrameLogPathVo frameLogPathVo) {
return null;
}



@Override @Override
public void upload(InputStream inputStream) { public void upload(InputStream inputStream) {


+ 3
- 3
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java View File

@@ -7,7 +7,7 @@ import com.ruoyi.platform.domain.PodStatus;
import com.ruoyi.platform.service.TensorBoardService; import com.ruoyi.platform.service.TensorBoardService;
import com.ruoyi.platform.utils.K8sClientUtil; import com.ruoyi.platform.utils.K8sClientUtil;
import com.ruoyi.platform.vo.FrameLogPathVo; import com.ruoyi.platform.vo.FrameLogPathVo;
import com.ruoyi.platform.vo.TensorboardStatusVo;
import com.ruoyi.platform.vo.PodStatusVo;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -29,9 +29,9 @@ public class TensorBoardServiceImpl implements TensorBoardService {
@Resource @Resource
private K8sClientUtil k8sClientUtil; private K8sClientUtil k8sClientUtil;
@Override @Override
public TensorboardStatusVo getTensorBoardStatus(FrameLogPathVo frameLogPathVo){
public PodStatusVo getTensorBoardStatus(FrameLogPathVo frameLogPathVo){
String status = PodStatus.Terminated.getName(); String status = PodStatus.Terminated.getName();
TensorboardStatusVo tensorboardStatusVo = new TensorboardStatusVo();
PodStatusVo tensorboardStatusVo = new PodStatusVo();
tensorboardStatusVo.setStatus(status); tensorboardStatusVo.setStatus(status);
if (StringUtils.isEmpty(frameLogPathVo.getPath())){ if (StringUtils.isEmpty(frameLogPathVo.getPath())){
return tensorboardStatusVo; return tensorboardStatusVo;


ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/TensorboardStatusVo.java → ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/PodStatusVo.java View File

@@ -6,7 +6,7 @@ import com.fasterxml.jackson.databind.annotation.JsonNaming;
import java.io.Serializable; import java.io.Serializable;


@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class TensorboardStatusVo implements Serializable {
public class PodStatusVo implements Serializable {
private String status; private String status;
private String url; private String url;


@@ -25,4 +25,5 @@ public class TensorboardStatusVo implements Serializable {
public void setUrl(String url) { public void setUrl(String url) {
this.url = url; this.url = url;
} }

} }

Loading…
Cancel
Save