Message parsing now complete but not optimised

This commit is contained in:
Fred Boniface
2023-07-21 12:12:16 +01:00
parent 9fa0f7d61f
commit 18dc87754b
8 changed files with 80 additions and 46 deletions

View File

@@ -1,4 +1,26 @@
package vstp
import (
"git.fjla.uk/owlboard/go-types/pkg/database"
"git.fjla.uk/owlboard/mq-client/log"
)
// Decide, based on the DB Formatted message type, what action needs taking
// then either insert, or delete from the database as required
func processEntryType(entry database.Service) {
if entry.TransactionType == "Create" {
createEntry(entry)
} else if entry.TransactionType == "Delete" {
deleteEntry(entry)
} else {
log.Msg.Error("Unknown TransactionType: " + entry.TransactionType)
}
}
func createEntry(entry database.Service) {
log.Msg.Info("Entry Creation requested for: " + entry.TrainUid + " - " + entry.Headcode)
}
func deleteEntry(entry database.Service) {
log.Msg.Info("Entry DELETE requested for: " + entry.TrainUid + " - " + entry.Headcode)
}

View File

@@ -17,6 +17,7 @@ func handle(msg *stomp.Message) {
count++
log.Msg.Info("Message count: " + fmt.Sprint(count))
schedule := unmarshalData(string(msg.Body))
processEntryType(schedule)
saveToFile(schedule, "transformed")
}

View File

@@ -1,6 +1,8 @@
package vstp
import (
"time"
"git.fjla.uk/owlboard/mq-client/log"
"git.fjla.uk/owlboard/mq-client/messaging"
"github.com/go-stomp/stomp/v3"
@@ -15,7 +17,13 @@ func Subscribe() {
go func() {
log.Msg.Debug("GOROUTINE: VSTP Message Handler Started")
defer log.Msg.Warn("GOROUTINE: VSTP Message Handler Stopped")
defer func() {
if r := recover(); r != nil {
log.Msg.Warn("GOROUTINE: VSTP Message Handler Stopped")
time.Sleep(time.Second * 10)
log.Msg.Fatal("GOROUTINE: VSTP Message Handler Failed")
}
}()
for {
msg := <-sub.C
if msg.Err != nil {