From e38654fe9eff4562da4f18f8f018aed7879d493c Mon Sep 17 00:00:00 2001
From: qixiaoning <jony.kee@outlook.com>
Date: 星期四, 21 八月 2025 15:02:17 +0800
Subject: [PATCH] 获取算力接口实现
---
sysinfo-service/service/psutil.go | 39 +++++++++++++++++++
system-service/service/devInfoSync.go | 50 ++++++++++++------------
2 files changed, 63 insertions(+), 26 deletions(-)
diff --git a/sysinfo-service/service/psutil.go b/sysinfo-service/service/psutil.go
index 0d6a332..cf9cc72 100644
--- a/sysinfo-service/service/psutil.go
+++ b/sysinfo-service/service/psutil.go
@@ -33,9 +33,35 @@
Stat.Mem = *meminfo
}
+
+ // Gpu
+ // agxGpuProcIface := "/sys/devices/gpu.0/load"
+
+ // if Exists(agxGpuProcIface) {
+ // fd, err1 := os.Open(agxGpuProcIface)
+ // if err1 == nil {
+ // var load int64
+ // fmt.Fscanf(fd, "%d", &load)
+ // // 妯℃嫙nvidia搴撶殑杈撳嚭
+ // Stat.Gpu = append(Stat.Gpu, gogpu.GpuUnitInfo{
+ // GpuMemoryTotal: 1000,
+ // GpuMemoryUsed: load,
+ // })
+ // fd.Close()
+ // }
+ // } else {
+ // if gpuInfo, err := gogpu.Info(); err == nil {
+ // sort.Sort(gogpu.GPURank(gpuInfo.Info))
+ // Stat.Gpu = Stat.Gpu[0:0]
+ // for _, v := range gpuInfo.Info {
+ // Stat.Gpu = append(Stat.Gpu, v)
+ // }
+ // }
+ // }
+
// Gpu
agxGpuProcIface := "/sys/devices/gpu.0/load"
- if _, err := os.Stat(agxGpuProcIface); !os.IsExist(err) {
+ if Exists(agxGpuProcIface){
fd, err1 := os.Open(agxGpuProcIface)
if err1 == nil {
var load int64
@@ -136,3 +162,14 @@
return Stat
}
+
+func Exists(path string) bool {
+ _, err := os.Stat(path) //os.Stat鑾峰彇鏂囦欢淇℃伅
+ if err != nil {
+ if os.IsExist(err) {
+ return true
+ }
+ return false
+ }
+ return true
+}
diff --git a/system-service/service/devInfoSync.go b/system-service/service/devInfoSync.go
index 440e7a6..d813714 100644
--- a/system-service/service/devInfoSync.go
+++ b/system-service/service/devInfoSync.go
@@ -155,30 +155,30 @@
if diff {
// 鍚屾璁惧淇℃伅鍒板晢鍩�
- if util.GetShopUrl() != "" {
- body := util.Struct2Map(i)
- url := "http://" + util.GetShopUrl() + "/data/api-d/device/syncDevToCloud"
- header := map[string]string{
- "Authorization": token,
- }
- data, err := util.DoPostRequest(url, util.CONTENT_TYPE_JSON, body, nil, header, 10*time.Second)
- if err != nil {
- logger.Error("send devInfo to cloud err:", err)
- return
- }
- logger.Debug("syncDevToCloud result:", string(data))
- var result bhomedbapi.Result
- err = json.Unmarshal(data, &result)
- if err != nil {
- logger.Error("unmarshal err:", err)
- return
- }
- if result.Success {
- lstSync = &i
- } else {
- logger.Error("syncDevToCloud result:", result)
- }
- }
+ // if util.GetShopUrl() != "" {
+ // body := util.Struct2Map(i)
+ // url := "http://" + util.GetShopUrl() + "/data/api-d/device/syncDevToCloud"
+ // header := map[string]string{
+ // "Authorization": token,
+ // }
+ // data, err := util.DoPostRequest(url, util.CONTENT_TYPE_JSON, body, nil, header, 10*time.Second)
+ // if err != nil {
+ // logger.Error("send devInfo to cloud err:", err)
+ // return
+ // }
+ // logger.Debug("syncDevToCloud result:", string(data))
+ // var result bhomedbapi.Result
+ // err = json.Unmarshal(data, &result)
+ // if err != nil {
+ // logger.Error("unmarshal err:", err)
+ // return
+ // }
+ // if result.Success {
+ // lstSync = &i
+ // } else {
+ // logger.Error("syncDevToCloud result:", result)
+ // }
+ // }
//鏌ョ湅鏄惁鏈夌鐞嗚妭鐐圭鐞嗙潃姝ゅ彴璁惧
syncToDevManager(i)
@@ -289,7 +289,7 @@
return nil
}
-//璁$畻鎸佺画鏃堕暱
+// 璁$畻鎸佺画鏃堕暱
func timeSpan(startTime time.Time) string {
sp := time.Since(startTime)
day := strconv.Itoa(int(sp.Hours() / 24)) //澶╂暟
--
Gitblit v1.8.0