Skip to content

Commit

Permalink
Add progress indicator
Browse files Browse the repository at this point in the history
  • Loading branch information
geertw committed Sep 5, 2023
1 parent 7cad3ba commit b280a2c
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions dump/dump.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"compress/gzip"
"database/sql"
"encoding/csv"
"fmt"
"os"
"strconv"
"time"
Expand Down Expand Up @@ -198,18 +199,22 @@ func DumpServicesStops(db *sql.DB, csvFile *os.File, gzipCompression bool, start
})

if stopCounter%40000 == 0 {
log.WithFields(log.Fields{"service": serviceCounter, "stop": stopCounter}).Info("Dumping...")
progressNumber := float64(serviceCounter) / float64(serviceCount) * 100
progress := fmt.Sprintf("%.2f", progressNumber)
log.WithFields(log.Fields{"services": serviceCounter, "stops": stopCounter, "progress": progress}).Info("Dumping...")

// Take 0.5s timeout to prevent MySQL from getting overloaded:
time.Sleep(500 * time.Millisecond)
// Take 1s timeout to prevent host from getting overloaded:
time.Sleep(1 * time.Second)

// flush csv
w.Flush()
}
}
}

log.WithFields(log.Fields{"service": serviceCounter, "stop": stopCounter}).Info("Done")
progressNumber := float64(serviceCounter) / float64(serviceCount) * 100
progress := fmt.Sprintf("%.2f", progressNumber)
log.WithFields(log.Fields{"services": serviceCounter, "stops": stopCounter, "progress": progress}).Info("Dumping complete")

return err
}

0 comments on commit b280a2c

Please sign in to comment.