🔨 命令执行用户.

This commit is contained in:
lijiahangmax
2024-12-13 01:05:01 +08:00
parent 190b78d14a
commit dd973a46fc
21 changed files with 315 additions and 162 deletions

View File

@@ -6,7 +6,7 @@ import type { ITerminalInitOnlyOptions, ITerminalOptions, Terminal } from '@xter
export type ExecType = 'BATCH' | 'JOB';
// 批量执行状态
export const execStatus = {
export const ExecStatus = {
// 等待中
WAITING: 'WAITING',
// 运行中
@@ -18,7 +18,7 @@ export const execStatus = {
};
// 主机执行状态
export const execHostStatus = {
export const ExecHostStatus = {
// 等待中
WAITING: 'WAITING',
// 运行中
@@ -33,6 +33,12 @@ export const execHostStatus = {
INTERRUPTED: 'INTERRUPTED',
};
// 执行模式
export const ExecMode = {
MANUAL: 'MANUAL',
JOB: 'JOB'
};
// 执行状态 字典项
export const execStatusKey = 'execStatus';

View File

@@ -29,7 +29,7 @@
import { onUnmounted, ref, nextTick, onMounted } from 'vue';
import { getExecCommandLogStatus } from '@/api/exec/exec-command-log';
import { getExecJobLogStatus } from '@/api/exec/exec-job-log';
import { dictKeys, execHostStatus, execStatus } from '../const';
import { dictKeys, ExecHostStatus, ExecStatus } from '../const';
import { useDictStore } from '@/store';
import ExecHost from './exec-host.vue';
import LogView from './log-view.vue';
@@ -54,8 +54,8 @@
execLog.value = record;
currentHostExecId.value = record.hosts[0].id;
// 定时查询执行状态
if (record.status === execStatus.WAITING ||
record.status === execStatus.RUNNING) {
if (record.status === ExecStatus.WAITING ||
record.status === ExecStatus.RUNNING) {
// 等待一秒后先查询一下状态
setTimeout(pullExecStatus, 1000);
// 注册状态轮询
@@ -100,8 +100,8 @@
}
}
// 已完成跳过
if (execLog.value.status === execStatus.COMPLETED ||
execLog.value.status === execStatus.FAILED) {
if (execLog.value.status === ExecStatus.COMPLETED ||
execLog.value.status === ExecStatus.FAILED) {
closeClient();
}
};
@@ -114,8 +114,8 @@
}
hosts.forEach(s => {
// 未完成自动设置完成时间为当前时间 用于展示使用时间
if (s.status === execHostStatus.WAITING ||
s.status === execHostStatus.RUNNING) {
if (s.status === ExecHostStatus.WAITING ||
s.status === ExecHostStatus.RUNNING) {
if (!s.startTime) {
s.startTime = Date.now();
}

View File

@@ -27,7 +27,7 @@
color="arcoblue"
title="持续时间">
<template #icon>
<icon-loading v-if="host.status === execHostStatus.WAITING || host.status === execHostStatus.RUNNING" />
<icon-loading v-if="host.status === ExecHostStatus.WAITING || host.status === ExecHostStatus.RUNNING" />
<icon-clock-circle v-else />
</template>
<span class="tag-value">{{ formatDuration(host.startTime, host.finishTime) || '0s' }}</span>
@@ -169,7 +169,7 @@
import type { ExecLogQueryResponse, ExecHostLogQueryResponse } from '@/api/exec/exec-log';
import type { ExecType, ILogAppender } from '../const';
import { ref } from 'vue';
import { execHostStatus, execHostStatusKey } from '../const';
import { ExecHostStatus, execHostStatusKey } from '../const';
import { formatDuration } from '@/utils';
import { useDictStore } from '@/store';
import { downloadExecCommandLogFile } from '@/api/exec/exec-command-log';