fix
This commit is contained in:
		
							parent
							
								
									a106082364
								
							
						
					
					
						commit
						8e4e1c1cfd
					
				| @ -8,6 +8,8 @@ const ( | |||||||
| 	WEBSOCKET_UNAUTH = "WEBSOCKET_UNAUTH" | 	WEBSOCKET_UNAUTH = "WEBSOCKET_UNAUTH" | ||||||
| 	//ws连接成功 | 	//ws连接成功 | ||||||
| 	WEBSOCKET_CONNECT_SUCCESS = "WEBSOCKET_CONNECT_SUCCESS" | 	WEBSOCKET_CONNECT_SUCCESS = "WEBSOCKET_CONNECT_SUCCESS" | ||||||
|  | 	//渲染前数据组装 | ||||||
|  | 	WEBSOCKET_RENDER_IMAGE_ASSEMBLE = "WEBSOCKET_RENDER_IMAGE_ASSEMBLE" | ||||||
| 	//图片渲染 | 	//图片渲染 | ||||||
| 	WEBSOCKET_RENDER_IMAGE = "WEBSOCKET_RENDER_IMAGE" | 	WEBSOCKET_RENDER_IMAGE = "WEBSOCKET_RENDER_IMAGE" | ||||||
| 	//数据格式错误 | 	//数据格式错误 | ||||||
|  | |||||||
| @ -270,9 +270,9 @@ func (w *wsConnectItem) dealwithReciveData(data []byte) { | |||||||
| 	d, _ := json.Marshal(parseInfo.D) | 	d, _ := json.Marshal(parseInfo.D) | ||||||
| 	//分消息类型给到不同逻辑处理,可扩展 | 	//分消息类型给到不同逻辑处理,可扩展 | ||||||
| 	switch parseInfo.T { | 	switch parseInfo.T { | ||||||
| 	//图片渲染 | 	//图片渲染数据组装 | ||||||
| 	case constants.WEBSOCKET_RENDER_IMAGE: | 	case constants.WEBSOCKET_RENDER_IMAGE_ASSEMBLE: | ||||||
| 		w.SendToCloudRender(d) | 		w.assembleRenderData(d) | ||||||
| 	default: | 	default: | ||||||
| 
 | 
 | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -21,8 +21,13 @@ type renderImageControlChanItem struct { | |||||||
| 	RenderId string // map的val | 	RenderId string // map的val | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 渲染请求数据处理发送云渲染服务处理 | // 渲染发送到组装数据组装数据 | ||||||
| func (w *wsConnectItem) SendToCloudRender(data []byte) { | type assembleRenderData struct { | ||||||
|  | 	TaskId     string      `json:"task_id"` | ||||||
|  | 	RenderData interface{} `json:"render_data"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (w *wsConnectItem) assembleRenderData(data []byte) { | ||||||
| 	var renderImageData types.RenderImageReqMsg | 	var renderImageData types.RenderImageReqMsg | ||||||
| 	if err := json.Unmarshal(data, &renderImageData); err != nil { | 	if err := json.Unmarshal(data, &renderImageData); err != nil { | ||||||
| 		w.outChan <- w.respondDataFormat(constants.WEBSOCKET_ERR_DATA_FORMAT, "invalid format of websocket render image message:"+string(data)) | 		w.outChan <- w.respondDataFormat(constants.WEBSOCKET_ERR_DATA_FORMAT, "invalid format of websocket render image message:"+string(data)) | ||||||
| @ -31,24 +36,23 @@ func (w *wsConnectItem) SendToCloudRender(data []byte) { | |||||||
| 	} | 	} | ||||||
| 	logx.Info("收到请求云渲染图片数据:", renderImageData) | 	logx.Info("收到请求云渲染图片数据:", renderImageData) | ||||||
| 	//把需要渲染的图片任务加进去 | 	//把需要渲染的图片任务加进去 | ||||||
| 	select { |  | ||||||
| 	case <-w.closeChan: //连接关闭了 |  | ||||||
| 		return |  | ||||||
| 	default: |  | ||||||
| 		//加入渲染任务 |  | ||||||
| 	taskId := hash.JsonHashKey(renderImageData.RenderData) | 	taskId := hash.JsonHashKey(renderImageData.RenderData) | ||||||
| 	w.renderProperty.renderImageTaskCtlChan <- renderImageControlChanItem{ | 	w.renderProperty.renderImageTaskCtlChan <- renderImageControlChanItem{ | ||||||
| 		Option:   1, //0删除 1添加 | 		Option:   1, //0删除 1添加 | ||||||
| 		TaskId:   taskId, | 		TaskId:   taskId, | ||||||
| 		RenderId: renderImageData.RenderId, | 		RenderId: renderImageData.RenderId, | ||||||
| 	} | 	} | ||||||
|  | 	tmpData := assembleRenderData{ | ||||||
|  | 		TaskId:     taskId, | ||||||
|  | 		RenderData: renderImageData.RenderData, | ||||||
|  | 	} | ||||||
|  | 	d, _ := json.Marshal(tmpData) | ||||||
| 	//发送给对应的流水线组装数据 | 	//发送给对应的流水线组装数据 | ||||||
| 		if err := w.rabbitMq.SendMsg(constants.RABBIT_MQ_ASSEMBLE_RENDER_DATA, data); err != nil { | 	if err := w.rabbitMq.SendMsg(constants.RABBIT_MQ_ASSEMBLE_RENDER_DATA, d); err != nil { | ||||||
| 		logx.Error("发送渲染任务数据到MQ失败:", string(data), "err:", err) | 		logx.Error("发送渲染任务数据到MQ失败:", string(data), "err:", err) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	logx.Info("发送渲染数据到rabbitmq成功:", string(data)) | 	logx.Info("发送渲染数据到rabbitmq成功:", string(data)) | ||||||
| 	} |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 操作连接中渲染任务的增加/删除 | // 操作连接中渲染任务的增加/删除 | ||||||
|  | |||||||
| @ -30,11 +30,11 @@ func main() { | |||||||
| 	defer server.Stop() | 	defer server.Stop() | ||||||
| 
 | 
 | ||||||
| 	ctx := svc.NewServiceContext(c) | 	ctx := svc.NewServiceContext(c) | ||||||
| 	//消费组装队列 | 	//消费渲染结果队列 | ||||||
| 	ctx1 := context.Background() | 	ctx1 := context.Background() | ||||||
| 	ctx2, cancel := context.WithCancel(ctx1) | 	ctx2, cancel := context.WithCancel(ctx1) | ||||||
| 	defer cancel() | 	defer cancel() | ||||||
| 	go ctx.RabbitMq.Consume(ctx2, constants.RABBIT_MQ_ASSEMBLE_RENDER_DATA, &consumer.MqConsumerRenderResult{}) | 	go ctx.RabbitMq.Consume(ctx2, constants.RABBIT_MQ_RENDER_RESULT_DATA, &consumer.MqConsumerRenderResult{}) | ||||||
| 	handler.RegisterHandlers(server, ctx) | 	handler.RegisterHandlers(server, ctx) | ||||||
| 	fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port) | 	fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port) | ||||||
| 	server.Start() | 	server.Start() | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user