From 2bec780e039a25775596e1a421ad9a72bff39468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=A8=81?= <894646498@qq.com> Date: Sat, 27 May 2023 14:38:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=AD=E7=82=B9=E7=BB=AD=E4=BC=A0=E5=B7=B2?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 3b1544fedc1f4cdb174c4536037bdd49dd088d79 --- adaptor/PCM-CORE/api/desc/pcm.api | 2 +- .../PCM-CORE/api/desc/storage/pcm-storage.api | 2 +- .../internal/handler/image/checkhandler.go | 28 ---- .../handler/image/chunkimagehandler.go | 2 +- .../handler/image/uploadimagehandler.go | 85 +++++----- .../PCM-CORE/api/internal/handler/routes.go | 2 +- .../api/internal/logic/image/checklogic.go | 19 ++- adaptor/PCM-CORE/api/internal/types/types.go | 36 ++--- adaptor/PCM-CORE/model/hpcmodel_gen.go | 9 ++ adaptor/PCM-CORE/rpc/pb/pcmCore.proto | 9 ++ adaptor/PCM-CORE/rpc/pcmCore/pcmCore.pb.go | 150 ++++++++++++++---- .../PCM-CORE/rpc/pcmCore/pcmCore_grpc.pb.go | 25 ++- .../PCM-TH/rpc/internal/logic/cronlogic.go | 2 + 13 files changed, 234 insertions(+), 137 deletions(-) delete mode 100644 adaptor/PCM-CORE/api/internal/handler/image/checkhandler.go diff --git a/adaptor/PCM-CORE/api/desc/pcm.api b/adaptor/PCM-CORE/api/desc/pcm.api index 3d81dc34..e1d0e87d 100644 --- a/adaptor/PCM-CORE/api/desc/pcm.api +++ b/adaptor/PCM-CORE/api/desc/pcm.api @@ -194,5 +194,5 @@ service pcm { get /image/list () returns (imageListResp) @handler checkHandler - get /image/check (checkReq) returns (checkResp) + get /image/check/:fileMd5 (checkReq) returns (checkResp) } \ No newline at end of file diff --git a/adaptor/PCM-CORE/api/desc/storage/pcm-storage.api b/adaptor/PCM-CORE/api/desc/storage/pcm-storage.api index 96ecd53d..beabcd46 100644 --- a/adaptor/PCM-CORE/api/desc/storage/pcm-storage.api +++ b/adaptor/PCM-CORE/api/desc/storage/pcm-storage.api @@ -122,7 +122,7 @@ type ( type ( checkReq { - fileMd5 string `json:"fileMd5"` + fileMd5 string `path:"fileMd5"` } checkResp { exist bool `json:"exist"` diff --git a/adaptor/PCM-CORE/api/internal/handler/image/checkhandler.go b/adaptor/PCM-CORE/api/internal/handler/image/checkhandler.go deleted file mode 100644 index 663475f2..00000000 --- a/adaptor/PCM-CORE/api/internal/handler/image/checkhandler.go +++ /dev/null @@ -1,28 +0,0 @@ -package image - -import ( - "net/http" - - "PCM/adaptor/PCM-CORE/api/internal/logic/image" - "PCM/adaptor/PCM-CORE/api/internal/svc" - "PCM/adaptor/PCM-CORE/api/internal/types" - "github.com/zeromicro/go-zero/rest/httpx" -) - -func CheckHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - var req types.CheckReq - if err := httpx.Parse(r, &req); err != nil { - httpx.ErrorCtx(r.Context(), w, err) - return - } - - l := image.NewCheckLogic(r.Context(), svcCtx) - resp, err := l.Check(&req) - if err != nil { - httpx.ErrorCtx(r.Context(), w, err) - } else { - httpx.OkJsonCtx(r.Context(), w, resp) - } - } -} diff --git a/adaptor/PCM-CORE/api/internal/handler/image/chunkimagehandler.go b/adaptor/PCM-CORE/api/internal/handler/image/chunkimagehandler.go index 0e6df523..3cf6e57f 100644 --- a/adaptor/PCM-CORE/api/internal/handler/image/chunkimagehandler.go +++ b/adaptor/PCM-CORE/api/internal/handler/image/chunkimagehandler.go @@ -32,7 +32,7 @@ func ChunkImageHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { } chunksPath := path.Join(linuxUploadTempPath, hash) files, _ := ioutil.ReadDir(chunksPath) - // 排序 + // 将文件根据索引序号排序 filesSort := make(map[string]string) for _, f := range files { nameArr := strings.Split(f.Name(), "-") diff --git a/adaptor/PCM-CORE/api/internal/handler/image/uploadimagehandler.go b/adaptor/PCM-CORE/api/internal/handler/image/uploadimagehandler.go index ddb36a53..ead5736a 100644 --- a/adaptor/PCM-CORE/api/internal/handler/image/uploadimagehandler.go +++ b/adaptor/PCM-CORE/api/internal/handler/image/uploadimagehandler.go @@ -3,14 +3,12 @@ package image import ( result2 "PCM/common/result" "bufio" - "encoding/json" "fmt" "io" - "io/ioutil" - "log" "net/http" "os" "path" + "strconv" "strings" "syscall" @@ -26,53 +24,62 @@ var linuxUploadTempPath = path.Join(linuxUploadPath) func UploadImageHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - file, _, err := r.FormFile("file") + file, fileHeader, err := r.FormFile("file") index := r.PostFormValue("index") hash := r.PostFormValue("hash") - // 获取uploads下所有的文件夹 - nameList, err := ioutil.ReadDir(linuxUploadPath) - m := map[string]interface{}{ - "code": 46900, - "msg": "文件已上传", - } - result, _ := json.MarshalIndent(m, "", " ") - // 循环判断hash是否在文件里如果有就返回上传已完成 - for _, name := range nameList { - tmpName := strings.Split(name.Name(), "_")[0] - if tmpName == hash { - fmt.Fprintf(w, string(result)) - return - } - } - + // 合并路径 chunksPath := path.Join(linuxUploadTempPath, hash) - + // 文件路径 + filePath := path.Join(chunksPath + "/" + hash + "-" + index) + // 检查临时文件夹是否存在 isPathExists, err := PathExists(chunksPath) if !isPathExists { err = os.MkdirAll(chunksPath, os.ModePerm) } - destFile, err := os.OpenFile(path.Join(chunksPath+"/"+hash+"-"+index), syscall.O_CREAT|syscall.O_WRONLY, 0777) - reader := bufio.NewReader(file) - writer := bufio.NewWriter(destFile) - buf := make([]byte, 1024*1024) // 1M buf - for { - n, err := reader.Read(buf) - if err == io.EOF { - writer.Flush() - break - } else if err != nil { + exists, err := PathExists(filePath) + if exists { + fileInfo, _ := os.Stat(filePath) + if fileInfo.Size() == fileHeader.Size { return - } else { - writer.Write(buf[:n]) } - } + start := strconv.Itoa(int(fileInfo.Size())) + oldfile, _ := os.OpenFile(filePath, os.O_CREATE|os.O_WRONLY, os.ModePerm) + defer file.Close() + count, _ := strconv.ParseInt(start, 10, 64) + fmt.Println("已上传:", count) + // 设置读,写的偏移量 + file.Seek(count, 0) + oldfile.Seek(count, 0) + data := make([]byte, 1024, 1024) + for { + total, err := file.Read(data) + if err == io.EOF { + fmt.Println("文件复制完毕") + break + } + oldfile.Write(data[:total]) - defer file.Close() - defer destFile.Close() - if err != nil { - log.Fatal("%v", err) + } + } else { + destFile, _ := os.OpenFile(path.Join(chunksPath+"/"+hash+"-"+index), syscall.O_CREAT|syscall.O_WRONLY, 0777) + reader := bufio.NewReader(file) + writer := bufio.NewWriter(destFile) + buf := make([]byte, 1024*1024) // 1M buf + for { + n, err := reader.Read(buf) + if err == io.EOF { + writer.Flush() + break + } else if err != nil { + return + } else { + writer.Write(buf[:n]) + } + } + + defer file.Close() + defer destFile.Close() } - fmt.Printf("第%s:%s块上传完成\n", index, destFile.Name()) result2.HttpResult(r, w, nil, err) } diff --git a/adaptor/PCM-CORE/api/internal/handler/routes.go b/adaptor/PCM-CORE/api/internal/handler/routes.go index 48c5e148..771c6be1 100644 --- a/adaptor/PCM-CORE/api/internal/handler/routes.go +++ b/adaptor/PCM-CORE/api/internal/handler/routes.go @@ -288,7 +288,7 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { }, { Method: http.MethodGet, - Path: "/image/check", + Path: "/image/check/:fileMd5", Handler: image.CheckHandler(serverCtx), }, }, diff --git a/adaptor/PCM-CORE/api/internal/logic/image/checklogic.go b/adaptor/PCM-CORE/api/internal/logic/image/checklogic.go index 51783b07..5b3f954c 100644 --- a/adaptor/PCM-CORE/api/internal/logic/image/checklogic.go +++ b/adaptor/PCM-CORE/api/internal/logic/image/checklogic.go @@ -2,7 +2,10 @@ package image import ( "context" + "io/ioutil" + "os" "path" + "strings" "PCM/adaptor/PCM-CORE/api/internal/svc" "PCM/adaptor/PCM-CORE/api/internal/types" @@ -16,6 +19,10 @@ type CheckLogic struct { svcCtx *svc.ServiceContext } +var dir, _ = os.Getwd() +var windowsUploadPath = strings.ReplaceAll(path.Join(dir, "uploads"), "/", "\\") +var linuxUploadPath = path.Join(dir, "uploads") + func NewCheckLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CheckLogic { return &CheckLogic{ Logger: logx.WithContext(ctx), @@ -26,6 +33,14 @@ func NewCheckLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CheckLogic func (l *CheckLogic) Check(req *types.CheckReq) (resp *types.CheckResp, err error) { // todo: add your logic here and delete this line - path.Join() - return + files, err := ioutil.ReadDir(windowsUploadPath) + if err != nil { + return nil, err + } + for _, file := range files { + if req.FileMd5 == file.Name() { + resp.Exist = true + } + } + return resp, nil } diff --git a/adaptor/PCM-CORE/api/internal/types/types.go b/adaptor/PCM-CORE/api/internal/types/types.go index 07c2ad12..7128cdbf 100644 --- a/adaptor/PCM-CORE/api/internal/types/types.go +++ b/adaptor/PCM-CORE/api/internal/types/types.go @@ -279,23 +279,23 @@ type DomainResource struct { } type ResourcePanelConfigReq struct { - Id int64 `json:"id,optional"` //id - Title string `json:"title,optional"` //标题 - TitleColor string `json:"titleColor,optional"` //标题色 - MainColor string `json:"mainColor,optional"` //主色调 - MainColor2 string `json:"mainColor2,optional"` //次主色调 - TextColor string `json:"textColor,optional"` //文字颜色 - BackgroundColor string `json:"backgroundColor,optional"` //背景底色 - Center string `json:"center,optional"` //中心点 - CenterPosition string `json:"centerPosition,optional"` //comment 中心点坐标 - ProvinceBgColor string `json:"provinceBgColor,optional"` //三级地图底色 - StatusIng string `json:"statusIng,optional"` //接入中图标 - StatusUn string `json:"statusUn,optional"` //未接入图标 - StatusEnd string `json:"statusEnd,optional"` //已接入图标 - TitleIcon string `json:"titleIcon,optional"` //标题底图 - SubTitleIcon string `json:"subTitleIcon,optional"` //小标题底图 - NumberBg string `json:"numberBg,optional"` //数字底图 - TaskBg string `json:"taskBg,optional"` //任务底图 + Id int64 `json:"id"` //id + Title string `json:"title"` //标题 + TitleColor string `json:"titleColor"` //标题色 + MainColor string `json:"mainColor"` //主色调 + MainColor2 string `json:"mainColor2"` //次主色调 + TextColor string `json:"textColor"` //文字颜色 + BackgroundColor string `json:"backgroundColor"` //背景底色 + Center string `json:"center"` //中心点 + CenterPosition string `json:"centerPosition"` //comment 中心点坐标 + ProvinceBgColor string `json:"provinceBgColor"` //三级地图底色 + StatusIng string `json:"statusIng"` //接入中图标 + StatusUn string `json:"statusUn"` //未接入图标 + StatusEnd string `json:"statusEnd"` //已接入图标 + TitleIcon string `json:"titleIcon"` //标题底图 + SubTitleIcon string `json:"subTitleIcon"` //小标题底图 + NumberBg string `json:"numberBg"` //数字底图 + TaskBg string `json:"taskBg"` //任务底图 } type ResourcePanelConfigResp struct { @@ -1904,7 +1904,7 @@ type ImageTagsResp struct { } type CheckReq struct { - FileMd5 string `json:"fileMd5"` + FileMd5 string `path:"fileMd5"` } type CheckResp struct { diff --git a/adaptor/PCM-CORE/model/hpcmodel_gen.go b/adaptor/PCM-CORE/model/hpcmodel_gen.go index bdc49b09..e88baf5f 100644 --- a/adaptor/PCM-CORE/model/hpcmodel_gen.go +++ b/adaptor/PCM-CORE/model/hpcmodel_gen.go @@ -55,6 +55,15 @@ type ( Result string `db:"result"` YamlString string `db:"yaml_string"` CmdScript string `db:"cmd_script"` + derivedEs string `db:"derived_es"` + cluster string `db:"cluster"` + blockId string `db:"block_id"` + allocNodes uint32 `db:"alloc_nodes"` + allocCpu uint32 `db:"alloc_cpu"` + version string `db:"version"` + account string `db:"account"` + exitCode string `db:"exit_code"` + assocId uint32 `db:"assoc_id"` } ) diff --git a/adaptor/PCM-CORE/rpc/pb/pcmCore.proto b/adaptor/PCM-CORE/rpc/pb/pcmCore.proto index 77a25687..07477905 100644 --- a/adaptor/PCM-CORE/rpc/pb/pcmCore.proto +++ b/adaptor/PCM-CORE/rpc/pb/pcmCore.proto @@ -54,6 +54,15 @@ message HpcInfo { string workDir = 9; string wallTime = 10; string cmdScript = 11; + string derivedEs = 12; + string cluster =13; + string blockId = 14; + string allocNodes = 15; + string allocCpu =16; + string version = 17; + string account =18; + string exitCode =19; + string assocId = 20; } message SyncInfoResp{ diff --git a/adaptor/PCM-CORE/rpc/pcmCore/pcmCore.pb.go b/adaptor/PCM-CORE/rpc/pcmCore/pcmCore.pb.go index fe9a37a4..1986dfcb 100644 --- a/adaptor/PCM-CORE/rpc/pcmCore/pcmCore.pb.go +++ b/adaptor/PCM-CORE/rpc/pcmCore/pcmCore.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 +// protoc-gen-go v1.28.1 +// protoc v3.21.10 // source: pcmCore.proto package pcmCore @@ -385,6 +385,15 @@ type HpcInfo struct { WorkDir string `protobuf:"bytes,9,opt,name=workDir,proto3" json:"workDir,omitempty"` WallTime string `protobuf:"bytes,10,opt,name=wallTime,proto3" json:"wallTime,omitempty"` CmdScript string `protobuf:"bytes,11,opt,name=cmdScript,proto3" json:"cmdScript,omitempty"` + DerivedEs string `protobuf:"bytes,12,opt,name=derivedEs,proto3" json:"derivedEs,omitempty"` + Cluster string `protobuf:"bytes,13,opt,name=cluster,proto3" json:"cluster,omitempty"` + BlockId string `protobuf:"bytes,14,opt,name=blockId,proto3" json:"blockId,omitempty"` + AllocNodes string `protobuf:"bytes,15,opt,name=allocNodes,proto3" json:"allocNodes,omitempty"` + AllocCpu string `protobuf:"bytes,16,opt,name=allocCpu,proto3" json:"allocCpu,omitempty"` + Version string `protobuf:"bytes,17,opt,name=version,proto3" json:"version,omitempty"` + Account string `protobuf:"bytes,18,opt,name=account,proto3" json:"account,omitempty"` + ExitCode string `protobuf:"bytes,19,opt,name=exitCode,proto3" json:"exitCode,omitempty"` + AssocId string `protobuf:"bytes,20,opt,name=assocId,proto3" json:"assocId,omitempty"` } func (x *HpcInfo) Reset() { @@ -496,6 +505,69 @@ func (x *HpcInfo) GetCmdScript() string { return "" } +func (x *HpcInfo) GetDerivedEs() string { + if x != nil { + return x.DerivedEs + } + return "" +} + +func (x *HpcInfo) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +func (x *HpcInfo) GetBlockId() string { + if x != nil { + return x.BlockId + } + return "" +} + +func (x *HpcInfo) GetAllocNodes() string { + if x != nil { + return x.AllocNodes + } + return "" +} + +func (x *HpcInfo) GetAllocCpu() string { + if x != nil { + return x.AllocCpu + } + return "" +} + +func (x *HpcInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *HpcInfo) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *HpcInfo) GetExitCode() string { + if x != nil { + return x.ExitCode + } + return "" +} + +func (x *HpcInfo) GetAssocId() string { + if x != nil { + return x.AssocId + } + return "" +} + type SyncInfoResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -730,7 +802,7 @@ var file_pcmCore_proto_rawDesc = []byte{ 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xb1, 0x02, + 0x09, 0x52, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x04, 0x0a, 0x07, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, @@ -750,34 +822,50 @@ var file_pcmCore_proto_rawDesc = []byte{ 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x22, 0x34, 0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x43, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xad, 0x01, 0x0a, - 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, - 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x70, 0x63, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, - 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x41, - 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x7b, 0x0a, 0x07, - 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x79, - 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x63, 0x6d, 0x43, - 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x37, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x70, - 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x66, - 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2f, 0x70, 0x63, - 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x45, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x45, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x43, 0x70, 0x75, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x43, 0x70, 0x75, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x0c, 0x53, 0x79, 0x6e, + 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x43, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x63, 0x6d, + 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x48, 0x70, + 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, + 0x65, 0x2e, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x32, 0x7b, 0x0a, 0x07, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x12, + 0x37, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x70, 0x63, + 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49, + 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x63, 0x6d, + 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2f, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/adaptor/PCM-CORE/rpc/pcmCore/pcmCore_grpc.pb.go b/adaptor/PCM-CORE/rpc/pcmCore/pcmCore_grpc.pb.go index db9fcae8..e8d9a687 100644 --- a/adaptor/PCM-CORE/rpc/pcmCore/pcmCore_grpc.pb.go +++ b/adaptor/PCM-CORE/rpc/pcmCore/pcmCore_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v3.19.4 +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.21.10 // source: pcmCore.proto package pcmCore @@ -18,18 +18,13 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - PcmCore_SyncInfo_FullMethodName = "/pcmCore.pcmCore/SyncInfo" - PcmCore_InfoList_FullMethodName = "/pcmCore.pcmCore/InfoList" -) - // PcmCoreClient is the client API for PcmCore service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type PcmCoreClient interface { - //SyncInfo Synchronous data information + // SyncInfo Synchronous data information SyncInfo(ctx context.Context, in *SyncInfoReq, opts ...grpc.CallOption) (*SyncInfoResp, error) - //InfoList + // InfoList InfoList(ctx context.Context, in *InfoListReq, opts ...grpc.CallOption) (*InfoListResp, error) } @@ -43,7 +38,7 @@ func NewPcmCoreClient(cc grpc.ClientConnInterface) PcmCoreClient { func (c *pcmCoreClient) SyncInfo(ctx context.Context, in *SyncInfoReq, opts ...grpc.CallOption) (*SyncInfoResp, error) { out := new(SyncInfoResp) - err := c.cc.Invoke(ctx, PcmCore_SyncInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/pcmCore.pcmCore/SyncInfo", in, out, opts...) if err != nil { return nil, err } @@ -52,7 +47,7 @@ func (c *pcmCoreClient) SyncInfo(ctx context.Context, in *SyncInfoReq, opts ...g func (c *pcmCoreClient) InfoList(ctx context.Context, in *InfoListReq, opts ...grpc.CallOption) (*InfoListResp, error) { out := new(InfoListResp) - err := c.cc.Invoke(ctx, PcmCore_InfoList_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/pcmCore.pcmCore/InfoList", in, out, opts...) if err != nil { return nil, err } @@ -63,9 +58,9 @@ func (c *pcmCoreClient) InfoList(ctx context.Context, in *InfoListReq, opts ...g // All implementations must embed UnimplementedPcmCoreServer // for forward compatibility type PcmCoreServer interface { - //SyncInfo Synchronous data information + // SyncInfo Synchronous data information SyncInfo(context.Context, *SyncInfoReq) (*SyncInfoResp, error) - //InfoList + // InfoList InfoList(context.Context, *InfoListReq) (*InfoListResp, error) mustEmbedUnimplementedPcmCoreServer() } @@ -103,7 +98,7 @@ func _PcmCore_SyncInfo_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: PcmCore_SyncInfo_FullMethodName, + FullMethod: "/pcmCore.pcmCore/SyncInfo", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(PcmCoreServer).SyncInfo(ctx, req.(*SyncInfoReq)) @@ -121,7 +116,7 @@ func _PcmCore_InfoList_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: PcmCore_InfoList_FullMethodName, + FullMethod: "/pcmCore.pcmCore/InfoList", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(PcmCoreServer).InfoList(ctx, req.(*InfoListReq)) diff --git a/adaptor/PCM-HPC/PCM-TH/rpc/internal/logic/cronlogic.go b/adaptor/PCM-HPC/PCM-TH/rpc/internal/logic/cronlogic.go index 2e9b334a..917e5b63 100644 --- a/adaptor/PCM-HPC/PCM-TH/rpc/internal/logic/cronlogic.go +++ b/adaptor/PCM-HPC/PCM-TH/rpc/internal/logic/cronlogic.go @@ -5,6 +5,7 @@ import ( "PCM/adaptor/PCM-HPC/PCM-TH/rpc/hpcTH" "PCM/adaptor/PCM-HPC/PCM-TH/rpc/internal/svc" "PCM/common/enum" + "PCM/common/tool" "context" "github.com/zeromicro/go-zero/core/logx" "strconv" @@ -38,6 +39,7 @@ func InitCron(svc *svc.ServiceContext) { for index, _ := range infoList.HpcInfoList { for _, job := range listJob.Jobs { if job.Name == infoList.HpcInfoList[index].Name { + tool.Convert(job, infoList.HpcInfoList[index]) infoList.HpcInfoList[index].JobId = strconv.Itoa(int(job.JobId)) infoList.HpcInfoList[index].StartTime = time.Unix(job.StartTime, 0).String() infoList.HpcInfoList[index].RunningTime = int64(time.Now().Sub(time.Unix(job.StartTime, 0)).Seconds())