Refactor uuid to id in message handling & processing. (#6)

This commit is contained in:
windyboy
2024-08-14 14:29:24 +08:00
committed by GitHub
parent 8538153cfe
commit bafbbf470c
7 changed files with 33 additions and 28 deletions
+7 -21
View File
@@ -25,7 +25,7 @@ func NewHandler(config *config.Config, publisher iface.MessagePublisher, reposit
}
}
func (handler *MessageHandler) HandleMessage(msg []byte, uuid []byte) error {
func (handler *MessageHandler) HandleMessage(msg []byte, id string) error {
handler.mu.Lock()
defer handler.mu.Unlock()
log := utils.GetSugaredLogger()
@@ -36,28 +36,14 @@ func (handler *MessageHandler) HandleMessage(msg []byte, uuid []byte) error {
payload := string(msg)
var parsed *domain.ParsedMessage
if parsed = parsers.Parse(payload); !parsed.Parsed {
log.Infof("not parsed: [%s] : {%s} \n", uuid, payload)
log.Infof("not parsed: [%s] : {%s} \n", id, payload)
} else {
log.Infof("parsed [%s]: %v\n", uuid, parsed.ToString())
parsed.Uuid = id
log.Infof("parsed [%s]: %v\n", id, parsed.ToString())
}
handler.repository.CreateNew(parsed, uuid)
handler.repository.CreateNew(parsed)
handler.publisher.Publish(parsed)
return nil
}
// func (n *MessageHandler) SaveMessage(parsed *domain.ParsedMessage, uuid string) {
// logger := watermill.NewStdLogger(false, false)
// if parsed != nil {
// parsed.Uuid = uuid
// if err := n.hasuraRepo.CreateNew(parsed); err != nil {
// logger.Error("error inserting message", err, map[string]interface{}{"message": parsed})
// }
// logger.Info("message inserted", map[string]interface{}{"message": parsed.Uuid})
// }
// }
// func (n *MessageHandler) Publish(parsed *domain.ParsedMessage) {
// if err := Publish(n.config, parsed); err != nil {
// utils.GetSugaredLogger().Error("error publishing message", err, map[string]interface{}{"message": parsed})
// }
// }
+1
View File
@@ -50,5 +50,6 @@ func (n *NatsPublisher) Publish(parsedMessage interface{}) error {
logger.Errorf("Failed to publish message: %v", err)
return err
}
logger.Infof("Message published: %s", msg.UUID)
return nil
}
+3 -2
View File
@@ -55,10 +55,11 @@ func (n *NatsSubscriber) Subscribe(config *config.Config, handlers iface.Message
}
for msg := range messages {
if err := handlers.HandleMessage(msg.Payload, []byte(msg.UUID)); err == nil {
if err := handlers.HandleMessage(msg.Payload, msg.UUID); err == nil {
logger.Infof("Message handled: %s", msg.UUID)
msg.Ack()
} else {
logger.Error("Failed to handle message", err, map[string]interface{}{"message": msg})
logger.Errorf("Failed to handle message [%s]: %v", msg.UUID, err)
msg.Nack()
}
}