diff --git a/models/Model.go b/models/Model.go index 5d07c6e..18f9f30 100644 --- a/models/Model.go +++ b/models/Model.go @@ -113,6 +113,9 @@ func (model *Model) Inference(image_list []Image, callback func(Image)) { SdModelCheckpoint string `json:"sd_model_checkpoint"` }{} + // 超时时间 1分钟 + var timeout = time.Now().Add(time.Second * 60) + for { if err := goreq.Get(fmt.Sprintf("http://%s:%d/sdapi/v1/options", server.IP, server.Port)).Do().BindJSON(&form); err != nil { log.Println("获取推理机配置失败:", err) @@ -122,6 +125,10 @@ func (model *Model) Inference(image_list []Image, callback func(Image)) { log.Println("模型切换完成:", form.SdModelCheckpoint) break } + if time.Now().After(timeout) { + log.Println("模型切换超时:", form.SdModelCheckpoint) + return + } time.Sleep(time.Second) } diff --git a/models/server.go b/models/server.go index 9a3e2f8..61ffe53 100644 --- a/models/server.go +++ b/models/server.go @@ -108,6 +108,10 @@ func (server *Server) InitModels() (err error) { // 从数据库检查此模型hash是否存在 for _, item := range data { + // 打印为格式化的JSON + b, _ := json.MarshalIndent(item, "", " ") + fmt.Println(string(b)) + var model Model if err := configs.ORMDB().Where("hash = ?", item["sha256"].(string)).First(&model).Error; err != nil { // 不存在则添加