timetable-mgr/vstp/handler.go

32 lines
727 B
Go
Raw Normal View History

2023-07-19 21:31:00 +01:00
package vstp
import (
"fmt"
2024-04-15 20:36:33 +01:00
"time"
"git.fjla.uk/owlboard/timetable-mgr/log"
2023-07-19 21:31:00 +01:00
"github.com/go-stomp/stomp/v3"
2024-04-14 19:03:13 +01:00
"go.uber.org/zap"
2023-07-19 21:31:00 +01:00
)
func handle(msg *stomp.Message) {
2024-04-15 20:36:33 +01:00
start := time.Now()
2024-04-24 23:09:34 +01:00
schedule, err := unmarshalData(msg.Body)
if err != nil {
log.Error("Error unmarshalling VSTP Message", zap.Error(err))
}
2024-04-24 23:09:34 +01:00
err, convertedType := convertCifType(schedule)
if err != nil {
log.Error("Error converting VSTP to CIF", zap.Error(err))
2024-04-28 11:52:00 +01:00
fmt.Println(string(msg.Body))
2024-04-24 23:09:34 +01:00
return
}
err = processCifData(convertedType)
if err != nil {
log.Error("Error processing VSTP Schedule", zap.Error(err))
}
2024-04-15 20:36:33 +01:00
end := time.Now()
2024-04-26 20:48:17 +01:00
duration := end.Sub(start)
2024-04-15 20:36:33 +01:00
log.Info("Message processed", zap.Duration("processing-time", duration))
2023-07-19 21:31:00 +01:00
}