|
@@ -97,26 +97,32 @@ func (m *EdbMonitorMessageController) Connect() {
|
|
|
success := make(chan int, 10)
|
|
|
go func() {
|
|
|
defer close(success)
|
|
|
- for _, msg := range messageList {
|
|
|
- err = edbmonitor.SendMessages(sysUser.AdminId, msg.EdbInfoId, msg.EdbInfoType, msg.EdbClassifyId, msg.EdbUniqueCode, msg.Message, msg.TriggerTime)
|
|
|
- if err != nil {
|
|
|
- utils.FileLog.Error("指标预警信息发送失败,err:%s, adminId:%d", err.Error(), sysUser.AdminId)
|
|
|
+ for i, msg := range messageList {
|
|
|
+ if i == 0 {
|
|
|
+ // 多条消息仅发送最新一条
|
|
|
+ err = edbmonitor.SendMessages(sysUser.AdminId, msg.EdbInfoId, msg.EdbInfoType, msg.EdbClassifyId, msg.EdbUniqueCode, msg.Message, msg.TriggerTime)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("指标预警信息发送失败,err:%s, adminId:%d", err.Error(), sysUser.AdminId)
|
|
|
+ } else {
|
|
|
+ success <- msg.EdbMonitorMessageId
|
|
|
+ }
|
|
|
} else {
|
|
|
success <- msg.EdbMonitorMessageId
|
|
|
}
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
}
|
|
|
}()
|
|
|
go func() {
|
|
|
+ readList := make([]int, 0)
|
|
|
for {
|
|
|
msgId, ok := <-success
|
|
|
if !ok {
|
|
|
- return
|
|
|
- }
|
|
|
- _, err = edbmonitor.ReadEdbMonitorMessage(msgId, sysUser.AdminId)
|
|
|
- if err != nil {
|
|
|
- utils.FileLog.Error("指标预警信息已读失败,err:%s, adminId:%d", err.Error(), sysUser.AdminId)
|
|
|
+ break
|
|
|
}
|
|
|
+ readList = append(readList, msgId)
|
|
|
+ }
|
|
|
+ _, err = edbmonitor.ReadEdbMonitorMessageList(readList, sysUser.AdminId)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("指标预警信息已读失败,err:%s, adminId:%d", err.Error(), sysUser.AdminId)
|
|
|
}
|
|
|
}()
|
|
|
|