This commit is contained in:
2023-06-28 14:56:56 +08:00
parent 723eca3353
commit 6c4cd0cb92
2 changed files with 35 additions and 31 deletions

View File

@@ -69,48 +69,52 @@ func (model *Model) Inference(image_list []Image, callback func(Image)) {
// 寻找一台就绪的推理机, 且已部署模型目标模型 // 寻找一台就绪的推理机, 且已部署模型目标模型
if err := configs.ORMDB().Where("type = ?", "推理").Where("status = ?", "就绪").Where("models LIKE ?", "%"+strconv.Itoa(model.ID)+"%").First(&server).Error; err != nil { if err := configs.ORMDB().Where("type = ?", "推理").Where("status = ?", "就绪").Where("models LIKE ?", "%"+strconv.Itoa(model.ID)+"%").First(&server).Error; err != nil {
// 寻找一台就绪的推理机, 且模型位置仍有空余 // 寻找一台就绪的推理机, 且模型位置仍有空余
if err := configs.ORMDB().Where("type = ?", "推理").Where("status = ?", "空闲").Where("length(models) < ?", 5).First(&server).Error; err != nil { if err := configs.ORMDB().Where("type = ?", "推理").Where("status = ?", "就绪").Where("length(models) < ?", 5).First(&server).Error; err != nil {
log.Println("创建一台新的推理机: 当前禁止创建新服务器") log.Println("创建一台新的推理机: 当前禁止创建新服务器")
return return
} }
// 上传目标模型到推理机 // 上传目标模型到推理机
log.Println("上传模型到推理机: 当前禁止上传模型") log.Println("上传模型到推理机: 当前禁止上传模型")
return
} }
var form = struct { //var form = struct {
Components []struct { // Components []struct {
ID int `json:"id"` // ID int `json:"id"`
Type string `json:"type"` // Type string `json:"type"`
Props struct { // Props struct {
Value string `json:"value"` // Value string `json:"value"`
} // }
} `json:"components"` // } `json:"components"`
}{} //}{}
// 检查当前是否为目标模型, 不是则执行切换模型 http://106.15.192.42:7860/config //// 检查当前是否为目标模型, 不是则执行切换模型 http://106.15.192.42:7860/config
if err := goreq.Get(fmt.Sprintf("http://%s:%d/config", server.IP, server.Port)).Do().BindJSON(&form); err != nil { //if err := goreq.Get(fmt.Sprintf("http://%s:%d/config", server.IP, server.Port)).Do().BindJSON(&form); err != nil {
log.Println("获取推理机配置失败:", err) // log.Println("获取推理机配置失败:", err)
return // return
} //}
//var isSet = false
//for _, component := range form.Components {
// if component.Type == "dropdown" && component.ID == 1514 && component.Props.Value == model.Name {
// log.Println("当前推理机已经部署了目标模型")
// isSet = true
// break
// }
//}
//if !isSet {
// log.Println("当前推理机未部署目标模型, 开始部署目标模型")
// // 没有切换模型接口
// return
//}
var isSet = false // 记录到推理机
for _, component := range form.Components { server.Models = append(server.Models, strconv.Itoa(model.ID))
if component.Type == "dropdown" && component.ID == 1514 && component.Props.Value == model.Name { configs.ORMDB().Save(&server)
log.Println("当前推理机已经部署了目标模型")
isSet = true
break
}
}
if !isSet {
log.Println("当前推理机未部署目标模型, 开始部署目标模型")
// 没有切换模型接口
return
}
// 记录到模型 // 记录到模型
model.ServerID = server.ID model.ServerID = server.ID
configs.ORMDB().Save(&model) configs.ORMDB().Save(&model)
} else {
server.ID = model.ServerID
configs.ORMDB().Take(&server)
} }
// 发送的参数 // 发送的参数

View File

@@ -181,7 +181,7 @@ func (server *Server) CheckStatus() error {
} }
server.Status = "正常" server.Status = "正常"
case "推理": case "推理":
server.Status = "異常" server.Status = "就绪"
default: default:
server.Status = "異常" server.Status = "異常"
} }