add better logging

This commit is contained in:
Simon Rieger 2025-01-19 20:06:39 +01:00
parent 210b03b978
commit da67c0967a
2 changed files with 19 additions and 2 deletions

View file

@ -16,7 +16,7 @@ services:
- DURATION=240 - DURATION=240
- DELETE_AFTER_MINUTES=30 - DELETE_AFTER_MINUTES=30
- UPDATE_INTERVAL_MINUTES=5 - UPDATE_INTERVAL_MINUTES=5
- TRANSFER_TIME=19:00 - TRANSFER_TIME=23:55
# Hildesheim HBF, Braunschweig HBF, Hannover HBF # Hildesheim HBF, Braunschweig HBF, Hannover HBF
- STATION_IDS=8000169,8000049,8000152 - STATION_IDS=8000169,8000049,8000152
volumes: volumes:

19
main.go
View file

@ -284,6 +284,8 @@ func updateTodayDelayStats(db *sql.DB, fahrtNr, trainName string, delay int, tim
} }
func transferDailyDelayStats(db *sql.DB) { func transferDailyDelayStats(db *sql.DB) {
log.Println("Starte tägliche Übertragung der Verspätungsstatistiken")
rows, err := db.Query("SELECT fahrt_nr, train_name, delay FROM today_delay_stats WHERE DATE(timestamp) = CURDATE()") rows, err := db.Query("SELECT fahrt_nr, train_name, delay FROM today_delay_stats WHERE DATE(timestamp) = CURDATE()")
if err != nil { if err != nil {
log.Printf("Fehler beim Abrufen der heutigen Verspätungsstatistiken: %v\n", err) log.Printf("Fehler beim Abrufen der heutigen Verspätungsstatistiken: %v\n", err)
@ -291,6 +293,8 @@ func transferDailyDelayStats(db *sql.DB) {
} }
defer rows.Close() defer rows.Close()
var totalTransferred, totalUpdated, totalInserted int
for rows.Next() { for rows.Next() {
var fahrtNr, trainName string var fahrtNr, trainName string
var delay int var delay int
@ -310,6 +314,9 @@ func transferDailyDelayStats(db *sql.DB) {
`, fahrtNr, delay > 300, delay) `, fahrtNr, delay > 300, delay)
if err != nil { if err != nil {
log.Printf("Fehler beim Einfügen der Verspätungsstatistiken für FahrtNr %s: %v\n", fahrtNr, err) log.Printf("Fehler beim Einfügen der Verspätungsstatistiken für FahrtNr %s: %v\n", fahrtNr, err)
} else {
totalInserted++
log.Printf("Neue Verspätungsstatistik eingefügt für FahrtNr %s (Zug: %s, Verspätung: %d)\n", fahrtNr, trainName, delay)
} }
} else if err == nil { } else if err == nil {
// Existierender Eintrag gefunden, führe UPDATE aus // Existierender Eintrag gefunden, führe UPDATE aus
@ -323,17 +330,27 @@ func transferDailyDelayStats(db *sql.DB) {
`, delay > 300, delay, existingID) `, delay > 300, delay, existingID)
if err != nil { if err != nil {
log.Printf("Fehler beim Aktualisieren der Verspätungsstatistiken für FahrtNr %s: %v\n", fahrtNr, err) log.Printf("Fehler beim Aktualisieren der Verspätungsstatistiken für FahrtNr %s: %v\n", fahrtNr, err)
} else {
totalUpdated++
log.Printf("Verspätungsstatistik aktualisiert für FahrtNr %s (Zug: %s, Verspätung: %d)\n", fahrtNr, trainName, delay)
} }
} else { } else {
log.Printf("Fehler beim Überprüfen der Verspätungsstatistiken für FahrtNr %s: %v\n", fahrtNr, err) log.Printf("Fehler beim Überprüfen der Verspätungsstatistiken für FahrtNr %s: %v\n", fahrtNr, err)
} }
totalTransferred++
} }
// Löschen Sie die heutigen Statistiken nach der Übertragung // Löschen Sie die heutigen Statistiken nach der Übertragung
_, err = db.Exec("DELETE FROM today_delay_stats WHERE DATE(timestamp) = CURDATE()") result, err := db.Exec("DELETE FROM today_delay_stats WHERE DATE(timestamp) = CURDATE()")
if err != nil { if err != nil {
log.Printf("Fehler beim Löschen der heutigen Verspätungsstatistiken: %v\n", err) log.Printf("Fehler beim Löschen der heutigen Verspätungsstatistiken: %v\n", err)
} else {
rowsAffected, _ := result.RowsAffected()
log.Printf("%d Einträge aus today_delay_stats gelöscht\n", rowsAffected)
} }
log.Printf("Tägliche Übertragung abgeschlossen. Gesamt: %d, Eingefügt: %d, Aktualisiert: %d\n", totalTransferred, totalInserted, totalUpdated)
} }
func calculateCurrentPosition(trip *TripDetails, currentTime time.Time) (float64, float64) { func calculateCurrentPosition(trip *TripDetails, currentTime time.Time) (float64, float64) {