This commit is contained in:
laodaming
2023-11-01 18:23:13 +08:00
parent b868ef19ae
commit 417126484b
2 changed files with 22 additions and 32 deletions

View File

@@ -48,11 +48,11 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) {
logx.Error("invalid format of websocket render image message", err)
return
}
//颜色/模板标签/logo变更
ifCancelOldCtx := false
/*if renderImageData.RenderData.TemplateTag != w.extendRenderProperty.templateTag {
//颜色/模板标签/logo变更(后面再开启)
/*ifCancelOldCtx := false
if renderImageData.RenderData.TemplateTag != w.extendRenderProperty.templateTag {
ifCancelOldCtx = true
}*/
}
if renderImageData.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex {
ifCancelOldCtx = true
}
@@ -68,7 +68,7 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) {
w.extendRenderProperty.renderCtxCancelFunc()
//重新赋值
w.extendRenderProperty.renderCtx, w.extendRenderProperty.renderCtxCancelFunc = context.WithCancel(w.logic.ctx)
}
}*/
select {
case <-w.closeChan: //已经关闭
return
@@ -95,20 +95,6 @@ func (w *wsConnectItem) consumeRenderImageData() {
case <-w.closeChan: //已关闭
return
case data := <-w.extendRenderProperty.renderChan: //消费数据
//标签不一样
/*if data.RenderData.TemplateTag != w.extendRenderProperty.templateTag {
//logx.Info("标签不一致,丢弃消息")
continue
}*/
//颜色不一致
if data.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex {
//logx.Info("颜色不一致,丢弃消息")
continue
}
//logo不一样
if data.RenderData.Logo != w.extendRenderProperty.Logo {
continue
}
limitChan <- struct{}{}
go func(d websocket_data.RenderImageReqMsg) {
defer func() {
@@ -122,19 +108,22 @@ func (w *wsConnectItem) consumeRenderImageData() {
defer func() {
<-limitChan
}()
go func() {
defer func() {
if err := recover(); err != nil {
logx.Error("func renderImage panic:", err)
//如果不是无视上下文切换取消的(后面再开启)
/*if !d.IgnoreContextCancel {
go func() {
defer func() {
if err := recover(); err != nil {
logx.Error("func renderImage panic:", err)
}
}()
select {
case <-w.extendRenderProperty.renderCtx.Done():
panic("检测到模板标签/颜色/logo变化渲染取消旧的任务")
case <-tmpChan:
return
}
}()
select {
case <-w.extendRenderProperty.renderCtx.Done():
panic("检测到模板标签/颜色/logo变化渲染取消旧的任务")
case <-tmpChan:
return
}
}()
}*/
w.renderImage(d)
}(data)
}