Feat: 新增文件解压状态查询

This commit is contained in:
Suwings 2022-07-03 17:27:41 +08:00
parent 4440befeb0
commit 9af87e5668
2 changed files with 19 additions and 5 deletions

View File

@ -35,6 +35,7 @@ class Config {
public ip = "";
public port = 24444;
public key = builderPassword();
public maxFileTask = 3;
}
// 守护进程配置类

View File

@ -23,7 +23,7 @@ import * as protocol from "../service/protocol";
import { routerApp } from "../service/router";
import InstanceSubsystem from "../service/system_instance";
import { getFileManager } from "../service/file_router_service";
import { globalEnv } from "../entity/config";
import { globalConfiguration, globalEnv } from "../entity/config";
// 部分路由器操作路由器验证中间件
routerApp.use((event, ctx, data, next) => {
@ -52,6 +52,19 @@ routerApp.on("file/list", (ctx, data) => {
}
});
// 查询文件管理系统状态
routerApp.on("file/status", (ctx, data) => {
try {
const instance = InstanceSubsystem.getInstance(data.instanceUuid);
protocol.response(ctx, {
instanceFileTask: instance.info.fileLock ?? 0,
globalFileTask: globalEnv.fileTaskCount ?? 0
});
} catch (error) {
protocol.responseError(ctx, error);
}
});
// 创建目录
routerApp.on("file/mkdir", (ctx, data) => {
try {
@ -124,6 +137,7 @@ routerApp.on("file/edit", async (ctx, data) => {
// 压缩/解压文件
routerApp.on("file/compress", async (ctx, data) => {
const maxFileTask = globalConfiguration.config.maxFileTask;
try {
const source = data.source;
const targets = data.targets;
@ -131,10 +145,9 @@ routerApp.on("file/compress", async (ctx, data) => {
const code = data.code;
const fileManager = getFileManager(data.instanceUuid);
const instance = InstanceSubsystem.getInstance(data.instanceUuid);
// if (instance.info.fileLock !== 0) {
// throw new Error("超出最大同时解压缩任务量,请等待其他解压缩任务完成后再执行。");
// }
if (instance.info.fileLock >= maxFileTask) {
throw new Error(`超出最大同时解压缩任务量,最大准许${maxFileTask}个,目前有${instance.info.fileLock}个任务正在进行,请耐心等待`);
}
// 单个实例文件任务量与整个守护进程文件任务量数统计
function fileTaskStart() {
instance.info.fileLock++;