|
@@ -5,6 +5,7 @@ import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"io"
|
|
"io"
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
|
|
+ "reflect"
|
|
"runtime"
|
|
"runtime"
|
|
"strings"
|
|
"strings"
|
|
"sync"
|
|
"sync"
|
|
@@ -269,7 +270,6 @@ func (a *appStruct) GetHardwareUsage() []model.DockerStatsModel {
|
|
a.GetHardwareUsageSteam()
|
|
a.GetHardwareUsageSteam()
|
|
}()
|
|
}()
|
|
}
|
|
}
|
|
- // 切一下,再次分配任务
|
|
|
|
runtime.Gosched()
|
|
runtime.Gosched()
|
|
}
|
|
}
|
|
list := []model.DockerStatsModel{}
|
|
list := []model.DockerStatsModel{}
|
|
@@ -299,11 +299,22 @@ func (a *appStruct) GetHardwareUsageSteam() {
|
|
ctx, cancel := context.WithCancel(ctx)
|
|
ctx, cancel := context.WithCancel(ctx)
|
|
|
|
|
|
var lm []model2.AppListDBModel
|
|
var lm []model2.AppListDBModel
|
|
- a.db.Table(model2.CONTAINERTABLENAME).Select("label,icon,container_id").Where("origin != ?", "system").Find(&lm)
|
|
|
|
|
|
+ a.db.Table(model2.CONTAINERTABLENAME).Select("label,title,icon,container_id").Where("origin != ?", "system").Find(&lm)
|
|
var list []types.ContainerStats
|
|
var list []types.ContainerStats
|
|
for i := 0; i < 100; i++ {
|
|
for i := 0; i < 100; i++ {
|
|
- if config.CasaOSGlobalVariables.AddApp {
|
|
|
|
- a.db.Table(model2.CONTAINERTABLENAME).Select("label,icon,container_id").Where("origin != ?", "system").Find(&lm)
|
|
|
|
|
|
+ if config.CasaOSGlobalVariables.AppChange {
|
|
|
|
+ lm = []model2.AppListDBModel{}
|
|
|
|
+ config.CasaOSGlobalVariables.AppChange = false
|
|
|
|
+ a.db.Table(model2.CONTAINERTABLENAME).Select("label,title,icon,container_id").Where("origin != ?", "system").Find(&lm)
|
|
|
|
+ dataApps := dataStr
|
|
|
|
+ lock.Lock()
|
|
|
|
+ dataStr = make(map[string]model.DockerStatsModel)
|
|
|
|
+ for _, v := range lm {
|
|
|
|
+ if !reflect.DeepEqual(dataApps[v.ContainerId], model.DockerStatsModel{}) {
|
|
|
|
+ dataStr[v.ContainerId] = dataApps[v.ContainerId]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ lock.Unlock()
|
|
}
|
|
}
|
|
var wg sync.WaitGroup
|
|
var wg sync.WaitGroup
|
|
for _, v := range lm {
|
|
for _, v := range lm {
|
|
@@ -322,10 +333,13 @@ func (a *appStruct) GetHardwareUsageSteam() {
|
|
lock.Lock()
|
|
lock.Lock()
|
|
dockerStats := model.DockerStatsModel{}
|
|
dockerStats := model.DockerStatsModel{}
|
|
dockerStats.Pre = dataStr[v.ContainerId].Data
|
|
dockerStats.Pre = dataStr[v.ContainerId].Data
|
|
-
|
|
|
|
dockerStats.Data = data
|
|
dockerStats.Data = data
|
|
dockerStats.Icon = v.Icon
|
|
dockerStats.Icon = v.Icon
|
|
- dockerStats.Title = v.Label
|
|
|
|
|
|
+ if len(v.Label) > 0 {
|
|
|
|
+ dockerStats.Title = v.Label
|
|
|
|
+ } else {
|
|
|
|
+ dockerStats.Title = v.Title
|
|
|
|
+ }
|
|
dataStr[v.ContainerId] = dockerStats
|
|
dataStr[v.ContainerId] = dockerStats
|
|
lock.Unlock()
|
|
lock.Unlock()
|
|
}(v, lock)
|
|
}(v, lock)
|