package vstp import ( "time" "git.fjla.uk/owlboard/timetable-mgr/log" "github.com/go-stomp/stomp/v3" "go.uber.org/zap" ) func handle(msg *stomp.Message) { start := time.Now() schedule, err := unmarshalData(msg.Body) if err != nil { log.Error("Error unmarshalling VSTP Message", zap.Error(err)) } err, convertedType := convertCifType(schedule) if err != nil { log.Error("Error converting VSTP to CIF", zap.Error(err)) return } err = processCifData(convertedType) if err != nil { log.Error("Error processing VSTP Schedule", zap.Error(err)) } end := time.Now() duration := end.Sub(start) log.Info("Message processed", zap.Duration("processing-time", duration)) }