Commit 277b20a4 authored by duanjinfei's avatar duanjinfei

update db and msg resp

parent 5ab1fd93
...@@ -22,6 +22,15 @@ func init() { ...@@ -22,6 +22,15 @@ func init() {
log.Error("Leveldb open file failed: ", err) log.Error("Leveldb open file failed: ", err)
} }
modelKeys = make(map[string]bool, 0) modelKeys = make(map[string]bool, 0)
iter := dbInstance.NewIterator(nil, nil)
defer iter.Release()
for iter.Next() {
key := iter.Key()
modelKeys[string(key)] = true
}
if err := iter.Error(); err != nil {
log.Fatal(err)
}
} }
func Put(key string, value any) error { func Put(key string, value any) error {
......
...@@ -66,10 +66,11 @@ func (m *ModelHandler) MonitorModelInfo() { ...@@ -66,10 +66,11 @@ func (m *ModelHandler) MonitorModelInfo() {
// continue // continue
//} //}
modelInfosResp := resp.Data modelInfosResp := resp.Data
for _, modelInfo := range modelInfosResp { for i, modelInfo := range modelInfosResp {
if modelInfo.ImageName == "" { if modelInfo.ImageName == "" {
continue continue
} }
modelInfo.ImageName = fmt.Sprintf("%s-%s", modelInfo.ImageName, conf.GetConfig().OpSys) modelInfo.ImageName = fmt.Sprintf("%s-%s", modelInfo.ImageName, conf.GetConfig().OpSys)
split := strings.Split(modelInfo.ImageName, ":") split := strings.Split(modelInfo.ImageName, ":")
if len(split) != 2 { if len(split) != 2 {
...@@ -79,6 +80,19 @@ func (m *ModelHandler) MonitorModelInfo() { ...@@ -79,6 +80,19 @@ func (m *ModelHandler) MonitorModelInfo() {
m.dockerOp.SignApi[modelInfo.ImageName] = modelInfo.SignUrl m.dockerOp.SignApi[modelInfo.ImageName] = modelInfo.SignUrl
model, _ := db.GetModel(modelInfo.ImageName) model, _ := db.GetModel(modelInfo.ImageName)
if model != nil { if model != nil {
switch i {
case 0:
model.IsInstalled = true
model.IsRunning = true
model.GpuSeq = 0
case 1:
model.IsInstalled = true
model.IsRunning = true
model.GpuSeq = 1
default:
model.IsInstalled = true
model.GpuSeq = 999
}
model.UpdateFiled(modelInfo) model.UpdateFiled(modelInfo)
err := db.PutModel(modelInfo.ImageName, model) err := db.PutModel(modelInfo.ImageName, model)
if err != nil { if err != nil {
...@@ -87,6 +101,19 @@ func (m *ModelHandler) MonitorModelInfo() { ...@@ -87,6 +101,19 @@ func (m *ModelHandler) MonitorModelInfo() {
} }
log.WithField("name", modelInfo.ImageName).Info("The image updated") log.WithField("name", modelInfo.ImageName).Info("The image updated")
} else { } else {
switch i {
case 0:
modelInfo.IsInstalled = true
modelInfo.IsRunning = true
modelInfo.GpuSeq = 0
case 1:
modelInfo.IsInstalled = true
modelInfo.IsRunning = true
modelInfo.GpuSeq = 1
default:
modelInfo.IsInstalled = true
modelInfo.GpuSeq = 999
}
err := db.PutModel(modelInfo.ImageName, modelInfo) err := db.PutModel(modelInfo.ImageName, modelInfo)
if err != nil { if err != nil {
log.WithError(err).Error("Put db error") log.WithError(err).Error("Put db error")
...@@ -211,32 +238,32 @@ func (m *ModelHandler) ScanModelsResp() (*nodemanagerV2.ModelsInfo, error) { ...@@ -211,32 +238,32 @@ func (m *ModelHandler) ScanModelsResp() (*nodemanagerV2.ModelsInfo, error) {
// log.Error("Get container failed") // log.Error("Get container failed")
// return nil, fmt.Errorf("get containe failed") // return nil, fmt.Errorf("get containe failed")
//} //}
//allModels, err := db.GetAllModels() allModels, err := db.GetAllModels()
//if err != nil { if err != nil {
// log.WithError(err).Error("Get all models failed") log.WithError(err).Error("Get all models failed")
// return nil, fmt.Errorf("get all models failed") return nil, fmt.Errorf("get all models failed")
//} }
//for _, model := range allModels { for _, model := range allModels {
// isExist := images[model.ImageName] //isExist := images[model.ImageName]
// if !isExist { //if !isExist {
// continue // continue
// } //}
// diskSize, err := strconv.ParseInt(model.HardwareRequire.DiskSize, 10, 64) if model.IsInstalled {
// if err != nil { diskSize, err := strconv.ParseInt(model.HardwareRequire.DiskSize, 10, 64)
// continue if err != nil {
// } continue
// installedModels = append(installedModels, &nodemanagerV2.InstalledModel{ModelId: strconv.FormatUint(model.TaskId, 10), DiskSize: diskSize, InstalledTime: model.SetupTime, LastRunTime: model.LastRunTime}) }
// installedModels = append(installedModels, &nodemanagerV2.InstalledModel{ModelId: strconv.FormatUint(model.TaskId, 10), DiskSize: diskSize, InstalledTime: model.SetupTime, LastRunTime: model.LastRunTime})
// containerIsExist := false }
// for _, container := range containerList { //for _, container := range containerList {
// if model.ImageName == container.Image { // if model.ImageName == container.Image {
// containerIsExist = true // containerIsExist = true
// } // }
// } //}
// if containerIsExist { if model.IsRunning {
// runningModels = append(runningModels, &nodemanagerV2.RunningModel{ModelId: strconv.FormatUint(model.TaskId, 10), GpuSeq: model.GpuSeq, GpuRam: model.RunningMem, StartedTime: model.LastRunTime, LastWorkTime: model.LastWorkTime, TotalRunCount: model.TotalRunCount, ExecTime: model.EstimatExeTime}) runningModels = append(runningModels, &nodemanagerV2.RunningModel{ModelId: strconv.FormatUint(model.TaskId, 10), GpuSeq: model.GpuSeq, GpuRam: model.RunningMem, StartedTime: model.LastRunTime, LastWorkTime: model.LastWorkTime, TotalRunCount: model.TotalRunCount, ExecTime: model.EstimatExeTime})
// } }
//} }
res := &nodemanagerV2.ModelsInfo{ res := &nodemanagerV2.ModelsInfo{
InstalledModels: installedModels, InstalledModels: installedModels,
RunningModels: runningModels, RunningModels: runningModels,
......
...@@ -42,7 +42,10 @@ func StartMonitor() { ...@@ -42,7 +42,10 @@ func StartMonitor() {
go monitorNm.monitorNodeManagerSeed() go monitorNm.monitorNodeManagerSeed()
log.WithField("func", "monitorNodeManagerSeed").Info("--------------------Start monitorNm--------------------") log.WithField("func", "monitorNodeManagerSeed").Info("--------------------Start monitorNm--------------------")
for !monitorNm.IsInit && !modelHandler.IsInit { for {
if monitorNm.IsInit && modelHandler.IsInit {
break
}
time.Sleep(time.Second * 3) time.Sleep(time.Second * 3)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment