aa
This commit is contained in:
@@ -180,7 +180,9 @@ func (t *TcpClient) HandleTcpMessages(printNo string) {
|
||||
printMsg.Status = printMsgAlreadyLoad
|
||||
//先避免重复读再插到channel?
|
||||
if _, err := dao.UpdateEntity(db, printMsg, "Status"); err == nil {
|
||||
t.addMsgChan(printMsg)
|
||||
if err = t.addMsgChan(printMsg); err != nil {
|
||||
globals.SugarLogger.Debugf("HandleTcpMessages addMsgChan Err: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,15 +259,21 @@ func (t *TcpClient) setPrintStatusTime(key string) {
|
||||
}
|
||||
}
|
||||
|
||||
func (t *TcpClient) addMsgChan(printMsg *model.PrintMsg) {
|
||||
func (t *TcpClient) addMsgChan(printMsg *model.PrintMsg) (err error) {
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
defer func() {
|
||||
t.Unlock()
|
||||
if r := recover(); r != nil && r.(error).Error() == "send on closed channel" {
|
||||
err = fmt.Errorf("send on closed channel")
|
||||
}
|
||||
}()
|
||||
if t.MsgMap[printMsg.PrintNo] == nil {
|
||||
dataChan := make(chan *model.PrintMsg, 1024)
|
||||
t.MsgMap[printMsg.PrintNo] = dataChan
|
||||
}
|
||||
globals.SugarLogger.Debugf("addMsgChan msgID: %s", printMsg.MsgID)
|
||||
t.MsgMap[printMsg.PrintNo] <- printMsg
|
||||
return err
|
||||
}
|
||||
|
||||
func (t *TcpClient) addCallbackChan(key, data string) {
|
||||
|
||||
Reference in New Issue
Block a user