Browse Source

新增实时查询

pull/9/head
fanshuai 1 year ago
parent
commit
7afddb91bd
4 changed files with 46 additions and 5 deletions
  1. +3
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java
  2. +3
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java
  3. +3
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java
  4. +37
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/PodLogVo.java

+ 3
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java View File

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.web.domain.GenericsAjaxResult;
import com.ruoyi.platform.domain.ExperimentIns;
import com.ruoyi.platform.service.ExperimentInsService;
import com.ruoyi.platform.vo.LogRequestVo;
import com.ruoyi.platform.vo.PodLogVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;
@@ -146,8 +147,8 @@ public class ExperimentInsController extends BaseController {

@PostMapping("/pods/realTimeLog")
@ApiOperation("获取pod实时日志请求")
public GenericsAjaxResult<String> getRealtimePodLogFromPod(@RequestParam("namespace") String namespace, @RequestParam("container_name") String containerName,@RequestParam("pod_name") String podName){
return genericsSuccess(this.experimentInsService.getRealtimePodLogFromPod(podName,namespace,containerName));
public GenericsAjaxResult<String> getRealtimePodLogFromPod(@RequestBody PodLogVo podLogVo){
return genericsSuccess(this.experimentInsService.getRealtimePodLogFromPod(podLogVo));
}




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

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

import com.ruoyi.platform.domain.ExperimentIns;
import com.ruoyi.platform.vo.LogRequestVo;
import com.ruoyi.platform.vo.PodLogVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

@@ -95,5 +96,6 @@ public interface ExperimentInsService {

Map<String, Object> getRealtimePodLog(String podName, String startTime);

String getRealtimePodLogFromPod(String podName, String namespace,String container);
String getRealtimePodLogFromPod(PodLogVo podLogVo);

}

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

@@ -9,6 +9,7 @@ import com.ruoyi.platform.service.ExperimentInsService;
import com.ruoyi.platform.service.WorkflowService;
import com.ruoyi.platform.utils.*;
import com.ruoyi.platform.vo.LogRequestVo;
import com.ruoyi.platform.vo.PodLogVo;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
@@ -522,8 +523,8 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
}

@Override
public String getRealtimePodLogFromPod(String podName, String namespace,String container) {
return K8sClientUtil.getPodLogs(podName, namespace,container, logsLines);
public String getRealtimePodLogFromPod(PodLogVo podLogVo) {
return K8sClientUtil.getPodLogs(podLogVo.getPodName(), podLogVo.getNamespace(),podLogVo.getContainerName(), logsLines);
}

private boolean isTerminatedState(ExperimentIns ins) throws IOException {


+ 37
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/PodLogVo.java View File

@@ -0,0 +1,37 @@
package com.ruoyi.platform.vo;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;

import java.io.Serializable;

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class PodLogVo implements Serializable {
private String podName;
private String namespace;
private String containerName;

public String getPodName() {
return podName;
}

public void setPodName(String podName) {
this.podName = podName;
}

public String getNamespace() {
return namespace;
}

public void setNamespace(String namespace) {
this.namespace = namespace;
}

public String getContainerName() {
return containerName;
}

public void setContainerName(String containerName) {
this.containerName = containerName;
}
}

Loading…
Cancel
Save