From 5add1c6e53b1463818a8349b6e016d9da14d108b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=9C=E8=8F=AF?= Date: Wed, 12 Jul 2023 18:18:24 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96=E9=80=9A?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/Model.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/models/Model.go b/models/Model.go index b429654..4c06ad7 100644 --- a/models/Model.go +++ b/models/Model.go @@ -105,6 +105,13 @@ func (model *Model) Inference(image_list []Image, callback func(Image)) { if server.ModelID != model.ID { log.Println("推理机未加载模型, 开始排队加载模型") + // 通知关注此任务的用户 + for _, img := range image_list { + img.Status = "loading" + img.Preview = "正在切换模型" + callback(img) + } + // 执行切换模型(推理机需要先处理完当前的任务才能加载新的模型) if err := goreq.Post(fmt.Sprintf("http://%s:%d/sdapi/v1/options", server.IP, server.Port)).SetJsonBody(map[string]interface{}{ "sd_model_checkpoint": model.ModelCheckpoint, @@ -133,6 +140,14 @@ func (model *Model) Inference(image_list []Image, callback func(Image)) { } if time.Now().After(timeout) { log.Println("模型切换超时:", form.SdModelCheckpoint) + + // 通知关注此任务的用户 + for _, img := range image_list { + img.Status = "error" + img.Preview = "模型切换超时" + callback(img) + } + return } time.Sleep(time.Second)