zs 5 月之前
父節點
當前提交
e781e03184

+ 48 - 0
src/controller/core/performance.controller.ts

@@ -0,0 +1,48 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+} from '@midwayjs/core';
+import { PerformanceService } from '../../service/core/performance.service';
+import { RF } from '../../response/CustomerResponse';
+import { Page, Query } from '../../decorator/page.decorator';
+
+@Controller('/performance')
+export class PerformanceController {
+  @Inject()
+  service: PerformanceService;
+
+  @Post('/')
+  async create(@Body() body) {
+    const data = await this.service.create(body);
+    return RF.success(data);
+  }
+
+  @Get('/')
+  async query(@Query() query, @Page() page) {
+    const result = await this.service.page(query, page);
+    return RF.success(result);
+  }
+
+  @Get('/:id')
+  async fetch(@Param('id') _id: string) {
+    const result = await this.service.findOne({ _id });
+    return RF.success(result);
+  }
+
+  @Post('/:id')
+  async update(@Param('id') _id: string, @Body() body) {
+    const result = await this.service.update({ _id }, body);
+    return RF.success(result);
+  }
+
+  @Del('/:id')
+  async delete(@Param('id') _id: string) {
+    await this.service.delete({ _id });
+    return RF.success();
+  }
+}

+ 1 - 1
src/entity/core/history.entity.ts

@@ -4,7 +4,7 @@ import { BaseModel } from '../../frame/BaseModel';
   schemaOptions: { collection: 'history' },
 })
 export class History extends BaseModel {
-  @prop({ required: false, index: false, zh: '作业id', esType: 'work_id' })
+  @prop({ required: false, index: false, zh: '作业ID', esType: 'work_id' })
   work_id: string;
   @prop({ required: false, index: false, zh: '作业名称', esType: 'work_name' })
   work_name: string;

+ 74 - 0
src/entity/core/performance.entity.ts

@@ -0,0 +1,74 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from '../../frame/BaseModel';
+@modelOptions({
+  schemaOptions: { collection: 'performance' },
+})
+export class Performance extends BaseModel {
+  @prop({ required: false, index: false, zh: '节点名称', esType: 'node_name' })
+  node_name: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '管理IP',
+    esType: 'work_id',
+    default: '---',
+  })
+  admin_ip: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '系统IP',
+    esType: 'work_id',
+    default: '---',
+  })
+  system_ip: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '开关机状态',
+    esType: 'switch',
+    default: '---',
+  })
+  switch: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: 'CPU利用率',
+    esType: 'cpu_utilize',
+    default: '---',
+  })
+  cpu_utilize: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: 'GPU利用率',
+    esType: 'gpu_utilize',
+
+    default: '---',
+  })
+  gpu_utilize: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '内存利用率',
+    esType: 'memory',
+    default: '---',
+  })
+  memory: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '网络端口收发速度',
+    esType: 'speed',
+    default: '---/---',
+  })
+  speed: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '负载',
+    esType: 'load',
+    default: '---',
+  })
+  load: string;
+}

+ 7 - 1
src/entity/core/realtime.entity.ts

@@ -4,7 +4,7 @@ import { BaseModel } from '../../frame/BaseModel';
   schemaOptions: { collection: 'realtime' },
 })
 export class Realtime extends BaseModel {
-  @prop({ required: false, index: false, zh: '作业id', esType: 'work_id' })
+  @prop({ required: false, index: false, zh: '作业ID', esType: 'work_id' })
   work_id: string;
   @prop({ required: false, index: false, zh: '作业名称', esType: 'work_name' })
   work_name: string;
@@ -16,6 +16,12 @@ export class Realtime extends BaseModel {
   status: string;
   @prop({ required: false, index: false, zh: '运行时长', esType: 'time' })
   time: string;
+  @prop({ required: false, index: false, zh: '等待时长', esType: 'wait_time' })
+  wait_time: string;
+  @prop({ required: false, index: false, zh: 'CPU(核)', esType: 'cpu' })
+  cpu: string;
+  @prop({ required: false, index: false, zh: 'GPU(个)', esType: 'gpu' })
+  gpu: string;
   @prop({ required: false, index: false, zh: '分区', esType: 'partition' })
   partition: string;
   @prop({

+ 12 - 0
src/service/core/performance.service.ts

@@ -0,0 +1,12 @@
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from '../../frame/BaseService';
+import { Provide } from '@midwayjs/core';
+import { Performance } from '../../entity/core/performance.entity';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+type modelType = ReturnModelType<typeof Performance>;
+
+@Provide()
+export class PerformanceService extends BaseService<modelType> {
+  @InjectEntityModel(Performance)
+  model: ReturnModelType<modelType>;
+}