fix: 拓扑状态刷新定时器改调度器

This commit is contained in:
TsMask
2024-03-21 10:10:46 +08:00
parent d15b75e8fd
commit 2a622aa1d6
3 changed files with 21 additions and 22 deletions

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { onMounted, ref, onBeforeUnmount, nextTick, watch } from 'vue';
import { onMounted, ref, nextTick, watch } from 'vue';
import * as echarts from 'echarts/core';
import { GridComponent, GridComponentOption } from 'echarts/components';
import {

View File

@@ -65,14 +65,13 @@ const viewportDom = ref<HTMLElement | null>(null);
const { isFullscreen, toggle } = useFullscreen(viewportDom);
/**10s调度器 */
const stateInterval = ref<any>(null);
const interval10s = ref<any>(null);
/**网元状态定时器 */
const stateTimeout = ref<any>(null);
/**5s调度器 */
const interval5s = ref<any>(null);
/**查询网元状态 */
function fnGetState() {
clearTimeout(stateTimeout.value);
function fnGetNeState() {
// 获取节点状态
for (const node of graphState.data.nodes) {
if (notNeNodes.includes(node.id)) continue;
@@ -91,11 +90,6 @@ function fnGetState() {
},
});
}
stateTimeout.value = setTimeout(() => {
fnGetSkim(); // 获取概览信息
fnGetState();
}, 5_000);
}
/**获取概览信息 */
@@ -160,14 +154,14 @@ async function fnGetSkim() {
/**初始数据函数 */
function loadData() {
fnGetState(); // 获取网元状态
fnGetNeState(); // 获取网元状态
cdrEventSend();
ueEventSend();
upfTFSend(0);
upfTFSend(7);
upfTFSend(30);
stateInterval.value = setInterval(() => {
interval10s.value = setInterval(() => {
upfTFActive.value = upfTFActive.value >= 2 ? 0 : upfTFActive.value + 1;
if (upfTFActive.value === 0) {
upfTFSend(7);
@@ -177,6 +171,11 @@ function loadData() {
upfTFSend(0);
}
}, 10_000);
interval5s.value = setInterval(() => {
fnGetSkim(); // 获取概览信息
fnGetNeState(); // 获取网元状态
}, 5_000);
}
/**栏目信息跳转 */
@@ -191,8 +190,8 @@ onMounted(() => {
});
onBeforeUnmount(() => {
clearTimeout(stateTimeout.value);
clearTimeout(stateInterval.value);
clearInterval(interval10s.value);
clearInterval(interval5s.value);
});
</script>

View File

@@ -328,16 +328,18 @@ function fnGraphDataLoad(reload: boolean = false) {
} else {
handleRanderGraph(graphG6Dom.value, graphState.data);
}
fnGetState(); // 获取网元状态
fnGetState();
interval10s.value = setInterval(() => {
fnGetState(); // 获取网元状态
}, 10_000);
});
}
/**网元状态定时器 */
const stateTimeout = ref<any>(null);
/**网元状态调度器 */
const interval10s = ref<any>(null);
/**查询网元状态 */
async function fnGetState() {
clearTimeout(stateTimeout.value);
// 获取节点状态
for (const node of graphState.data.nodes) {
if (notNeNodes.includes(node.id)) continue;
@@ -352,8 +354,6 @@ async function fnGetState() {
},
});
}
stateTimeout.value = setTimeout(() => fnGetState(), 30_000);
}
/**接收数据后回调 */
@@ -472,7 +472,7 @@ onMounted(() => {
onBeforeUnmount(() => {
ws.close();
clearTimeout(stateTimeout.value);
clearInterval(interval10s.value);
});
</script>