Message parsing now complete but not optimised
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user