cache messages for a short time and send as a package

alpha v1.0.53
alex 2023-02-19 19:09:44 +01:00
parent 5d3584cc3e
commit 7881cff4bd
1 changed files with 20 additions and 12 deletions

View File

@ -141,16 +141,16 @@ type RabbitMqLogMessage struct {
Timestamp int64
}
var logMessages []byte
var logMessages []RabbitMqLogMessage
var muLM sync.RWMutex
func addLogMessage(rabbitMqLogMessage []byte) {
func addLogMessage(rabbitMqLogMessage RabbitMqLogMessage) {
muLM.Lock()
logMessages = append(logMessages, rabbitMqLogMessage...)
logMessages = append(logMessages, rabbitMqLogMessage)
muLM.Unlock()
}
func getLogMessages() []byte {
func getLogMessages() []RabbitMqLogMessage {
muLM.RLock()
defer muLM.RUnlock()
@ -175,8 +175,15 @@ func startLogMessagesSender() {
continue
}
if err := logsClient.PushQueueMessage(getLogMessages()); err != nil {
log.Error().Msgf("Failed to push log message, err: %s", err)
marshaledMessages, err := json.Marshal(msgs)
if err != nil {
log.Error().Msgf("Failed to marshal rabbitMqLogMessages, err: %s", err)
continue
}
if err := logsClient.PushQueueMessage(marshaledMessages); err != nil {
log.Error().Msgf("Failed to push log messages, err: %s", err)
continue
}
@ -197,14 +204,15 @@ func pushLogMessage(messageType uint8, logMsg string) {
Timestamp: time.Now().UnixMilli(),
}
msg, err := json.Marshal(rabbitMqLogMessage)
/*
msg, err := json.Marshal(rabbitMqLogMessage)
if err != nil {
log.Error().Msgf("Failed to marshal rabbitMqLogMessage, err: %s", err)
return
}
if err != nil {
log.Error().Msgf("Failed to marshal rabbitMqLogMessage, err: %s", err)
return
} */
addLogMessage(msg)
addLogMessage(rabbitMqLogMessage)
/*
if err = logsClient.PushQueueMessage(msg); err != nil {
log.Error().Msgf("Failed to push log message, err: %s", err)