Merge branch 'develop' of gitee.com:fusenpack/fusenapi into develop
This commit is contained in:
		
						commit
						a401d1e4c9
					
				| @ -10,4 +10,8 @@ type Config struct { | |||||||
| 	SourceMysql    string | 	SourceMysql    string | ||||||
| 	Auth           types.Auth | 	Auth           types.Auth | ||||||
| 	SourceRabbitMq string | 	SourceRabbitMq string | ||||||
|  | 	BLMService     struct { | ||||||
|  | 		Version string | ||||||
|  | 		Urls    []string | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  | |||||||
| @ -48,12 +48,21 @@ func (l *TestAiLogic) TestAi(req *types.TestAiReq, userinfo *auth.UserInfo) (res | |||||||
| 			logx.Error("测试异常:", err) | 			logx.Error("测试异常:", err) | ||||||
| 		} | 		} | ||||||
| 	}() | 	}() | ||||||
|  | 	lenAiHost := len(l.svcCtx.Config.BLMService.Urls) | ||||||
|  | 	if lenAiHost == 0 { | ||||||
|  | 		return resp.SetStatusWithMessage(basic.CodeServiceErr, "ai host list is 0") | ||||||
|  | 	} | ||||||
| 	begin := time.Now().UTC().UnixMilli() | 	begin := time.Now().UTC().UnixMilli() | ||||||
| 	errChan := make(chan string) | 	errChan := make(chan string) | ||||||
| 	w := sync.WaitGroup{} | 	w := sync.WaitGroup{} | ||||||
|  | 	b := -1 | ||||||
| 	for i := 0; i < req.Num; i++ { | 	for i := 0; i < req.Num; i++ { | ||||||
| 		w.Add(1) | 		w.Add(1) | ||||||
| 		go func() { | 		b++ | ||||||
|  | 		if b > lenAiHost-1 { | ||||||
|  | 			b = 0 | ||||||
|  | 		} | ||||||
|  | 		go func(hostIndex int) { | ||||||
| 			defer func() { | 			defer func() { | ||||||
| 				if err := recover(); err != nil { | 				if err := recover(); err != nil { | ||||||
| 					logx.Error("测试异常2:", err) | 					logx.Error("测试异常2:", err) | ||||||
| @ -67,8 +76,9 @@ func (l *TestAiLogic) TestAi(req *types.TestAiReq, userinfo *auth.UserInfo) (res | |||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			var resultBLM constants.BLMServiceUrlResult | 			var resultBLM constants.BLMServiceUrlResult | ||||||
|  | 			logx.Info("正在请求:" + l.svcCtx.Config.BLMService.Urls[hostIndex]) | ||||||
| 			err := curl.NewClient(l.ctx, &curl.Config{ | 			err := curl.NewClient(l.ctx, &curl.Config{ | ||||||
| 				BaseUrl:        "http://ai.fusen.3718.cn:8999", | 				BaseUrl:        l.svcCtx.Config.BLMService.Urls[hostIndex], | ||||||
| 				Url:            constants.BLMServiceUrlLogoCombine, | 				Url:            constants.BLMServiceUrlLogoCombine, | ||||||
| 				RequireTimeout: time.Second * 15, | 				RequireTimeout: time.Second * 15, | ||||||
| 			}).PostJson(postMap, &resultBLM) | 			}).PostJson(postMap, &resultBLM) | ||||||
| @ -76,7 +86,7 @@ func (l *TestAiLogic) TestAi(req *types.TestAiReq, userinfo *auth.UserInfo) (res | |||||||
| 				errChan <- err.Error() | 				errChan <- err.Error() | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 		}() | 		}(b) | ||||||
| 	} | 	} | ||||||
| 	go func() { | 	go func() { | ||||||
| 		w.Wait() | 		w.Wait() | ||||||
|  | |||||||
| @ -34,10 +34,11 @@ type renderProcessor struct { | |||||||
| // 云渲染属性 | // 云渲染属性 | ||||||
| type extendRenderProperty struct { | type extendRenderProperty struct { | ||||||
| 	renderChan          chan websocket_data.RenderImageReqMsg //渲染消息入口的缓冲队列 | 	renderChan          chan websocket_data.RenderImageReqMsg //渲染消息入口的缓冲队列 | ||||||
| 	renderCtx           context.Context                       //渲染控制上下文(用于切换模板标签/颜色取消之前发送的不相同的任务) | 	renderCtx           context.Context                       //渲染控制上下文(用于切换模板标签/颜色/logo取消之前发送的不相同的任务) | ||||||
| 	renderCtxCancelFunc context.CancelFunc                    //渲染控制上下文取消方法 | 	renderCtxCancelFunc context.CancelFunc                    //渲染控制上下文取消方法 | ||||||
| 	selectColorIndex    int                                   //选择的颜色索引 | 	selectColorIndex    int                                   //选择的颜色索引(用于标记连接当前连接选择的颜色) | ||||||
| 	templateTag         string                                //模板标签 | 	templateTag         string                                //模板标签 (用于标记连接当前连接选择的模板标签) | ||||||
|  | 	Logo                string                                //logo地址 (用于标记连接当前连接选择的logo) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 处理分发到这里的数据 | // 处理分发到这里的数据 | ||||||
| @ -49,10 +50,22 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { | |||||||
| 		logx.Error("invalid format of websocket render image message", err) | 		logx.Error("invalid format of websocket render image message", err) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	if renderImageData.RenderData.TemplateTag != w.extendRenderProperty.templateTag || renderImageData.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex { | 	//颜色/模板标签/logo变更 | ||||||
| 		//赋值 | 	ifCancelOldCtx := false | ||||||
|  | 	if renderImageData.RenderData.TemplateTag != w.extendRenderProperty.templateTag { | ||||||
|  | 		ifCancelOldCtx = true | ||||||
|  | 	} | ||||||
|  | 	if renderImageData.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex { | ||||||
|  | 		ifCancelOldCtx = true | ||||||
|  | 	} | ||||||
|  | 	if renderImageData.RenderData.Logo != w.extendRenderProperty.Logo { | ||||||
|  | 		ifCancelOldCtx = true | ||||||
|  | 	} | ||||||
|  | 	if ifCancelOldCtx { | ||||||
|  | 		//赋值新的 | ||||||
| 		w.extendRenderProperty.templateTag = renderImageData.RenderData.TemplateTag | 		w.extendRenderProperty.templateTag = renderImageData.RenderData.TemplateTag | ||||||
| 		w.extendRenderProperty.selectColorIndex = renderImageData.RenderData.TemplateTagColor.SelectedColorIndex | 		w.extendRenderProperty.selectColorIndex = renderImageData.RenderData.TemplateTagColor.SelectedColorIndex | ||||||
|  | 		w.extendRenderProperty.Logo = renderImageData.RenderData.Logo | ||||||
| 		//让之前的失效 | 		//让之前的失效 | ||||||
| 		w.extendRenderProperty.renderCtxCancelFunc() | 		w.extendRenderProperty.renderCtxCancelFunc() | ||||||
| 		//重新赋值 | 		//重新赋值 | ||||||
| @ -94,6 +107,10 @@ func (w *wsConnectItem) consumeRenderImageData() { | |||||||
| 				//logx.Info("颜色不一致,丢弃消息") | 				//logx.Info("颜色不一致,丢弃消息") | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
|  | 			//logo不一样 | ||||||
|  | 			if data.RenderData.Logo != w.extendRenderProperty.Logo { | ||||||
|  | 				continue | ||||||
|  | 			} | ||||||
| 			limitChan <- struct{}{} | 			limitChan <- struct{}{} | ||||||
| 			go func(d websocket_data.RenderImageReqMsg) { | 			go func(d websocket_data.RenderImageReqMsg) { | ||||||
| 				defer func() { | 				defer func() { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user