Browse Source

[bug] 修改dds消息发布订阅

zishang 3 months ago
parent
commit
b606f387b9
2 changed files with 36 additions and 8 deletions
  1. 10 3
      src/views/modules/alg/train-watch.vue
  2. 26 5
      src/views/modules/alg/train.vue

+ 10 - 3
src/views/modules/alg/train-watch.vue

@@ -179,6 +179,7 @@ export default {
       missStatus:null,
       output:"",
       url: undefined,
+      logFile: "",
       dataListLoading: false,
       cmOptions: {
           // 语言及语法模式
@@ -206,7 +207,7 @@ export default {
     };
   },
   activated() {
-    this.init(this.$route.query.algorithmTrainingId, this.$route.query.missStatus);
+    this.init(this.$route.query.algorithmTrainingId, this.$route.query.missStatus, this.$route.query.logFile);
     //如果状态不是待开始或者暂停中,就去轮询访问日志
     // if(missStatus!=1&&missStatus!=7){
     //   this.timer=window.setInterval(()=>{
@@ -220,11 +221,15 @@ export default {
   },
   methods: {
     // 初始化方法
-    init(id, missStatus) {
+    init(id, missStatus, logFile) {
       this.loading = true;
       this.activeName = "first";
       this.algorithmTrainingId = id;
       this.missStatus = missStatus;
+      console.log("missStatus", missStatus);
+      console.log("logFile222", logFile);
+      this.logFile = logFile;
+      console.log("logFile333", this.logFile);
       this.output = "";
       this.pythonFiles = [];
       this.datasetFiles = [];
@@ -256,11 +261,13 @@ export default {
     },
     // 获取输出日志
     getOutput() {
+      console.log("logFile111", this.logFile);
       this.$http({
         url:this.$http.adornUrl('/algstrain/getOutput'),
         method:'get',
         params:this.$http.adornParams({
-          algorithmTrainingId:this.algorithmTrainingId
+          algorithmTrainingId:this.algorithmTrainingId,
+          logFile: this.logFile
         }),
       }).then(({data})=>{
         if (data && data.code === 0) {

+ 26 - 5
src/views/modules/alg/train.vue

@@ -77,7 +77,7 @@
       <el-table-column fixed="right" header-align="center" align="center" width="300" label="操作">
         <template slot-scope="scope">
           <el-button v-if="isAuth('train:list')" type="text" size="small" :disabled="scope.row.missStatus==7?true:false"
-          @click="watch(scope.row.algorithmTrainingId,scope.row.missStatus)">
+          @click="watch(scope.row.algorithmTrainingId,scope.row.missStatus,scope.row.logFile)">
             查看
           </el-button>
 
@@ -135,6 +135,7 @@ export default {
     return {
       loading:false,
       timer:null,
+      logFile: "",
       dataForm: {
         missName: "",
       },
@@ -153,7 +154,8 @@ export default {
       missStatus: null,
       classification: [],
       publishVisible:false,
-      selectAlgParaVisibel:false
+      selectAlgParaVisibel:false,
+      pollingInterval: null, // 存储轮询的定时器
     };
   },
   components: {
@@ -164,6 +166,7 @@ export default {
 
   activated() {
     this.getDataList();
+    this.startPolling(); // 进入页面时启动轮询
     //定时器
     /* this.timer=window.setInterval(()=>{
       setTimeout(()=>{
@@ -181,6 +184,9 @@ export default {
       this.timer = null;
     }
   },
+  deactivated() {
+    this.stopPolling(); // 离开页面时停止轮询
+  },
   methods: {
     // startInterval() {
     //   setInterval(() => {
@@ -200,7 +206,18 @@ export default {
     //     this.flag = this.flag + 1;
     //   }, 1000);
     // },
+    startPolling() {
+      this.pollingInterval = setInterval(() => {
+        this.getDataList();
+      }, 5000); // 每 5 秒请求一次
+    },
 
+    stopPolling() {
+      if (this.pollingInterval) {
+        clearInterval(this.pollingInterval);
+        this.pollingInterval = null;
+      }
+    },
     // 获取数据列表
     getDataList() {
       this.dataListLoading = true;
@@ -366,12 +383,13 @@ export default {
       this.dataListSelections = val;
     },
     // 查看
-    watch(id,missStatus) {
+    watch(id,missStatus,logFile) {
       /* this.newWatchVisible = true;
       this.$nextTick(() => {
         this.$refs.newWatch.init(id);
       }); */
-      this.$router.replace({ path: "/train-watch" ,query:{algorithmTrainingId:id,missStatus:missStatus}});
+      console.log("logFile",logFile);
+      this.$router.replace({ path: "/train-watch" ,query:{algorithmTrainingId:id,missStatus:missStatus,logFile:logFile} });
 
     },
     //保存tensorboard文件
@@ -448,7 +466,8 @@ export default {
               algorithmTrainingId:id
             }),
           }).then(({data})=>{
-
+              console.
+              this.logFile = data.logFile;
         });
       }else{
         this.selectAlgParaVisibel=true;
@@ -483,6 +502,8 @@ export default {
                 }),
               }).then(({data})=>{
                 if(data && data.code === 0){
+                  console.log("data",data)
+                  this.logFile = data.logFile;
                   Message({
                     type: 'success',
                     message: '运行成功',