From 5fb47b69d895fcbe98fc714b47057b0051387e05 Mon Sep 17 00:00:00 2001 From: NeKz Date: Sat, 16 Nov 2024 08:24:03 +0100 Subject: feat/rankings: fetch profiles faster and improvements (#234) --- rankings/main.go | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'rankings/main.go') diff --git a/rankings/main.go b/rankings/main.go index dfafb0c..552f058 100644 --- a/rankings/main.go +++ b/rankings/main.go @@ -10,11 +10,33 @@ import ( "github.com/robfig/cron/v3" ) +var useCache = false + func main() { err := godotenv.Load() if err != nil { log.Fatalln("Error loading .env file:", err.Error()) } + + runNow := false + for _, arg := range os.Args { + if arg == "-n" || arg == "--now" { + runNow = true + continue + } + if arg == "-c" || arg == "--cache" { + useCache = true + continue + } + } + + useCache = useCache && runNow + + if runNow { + run() + return + } + c := cron.New() _, err = c.AddFunc("0 0 * * *", run) if err != nil { @@ -29,17 +51,24 @@ func main() { func run() { log.Println("started job") + records := readRecords() + log.Println("loaded", len(records), "records") + overrides := readOverrides() - players := fetchLeaderboard(records, overrides) + log.Println("loaded", len(overrides), "player overrides") + + players := fetchLeaderboard(records, overrides, useCache) spRankings := []*Player{} mpRankings := []*Player{} overallRankings := []*Player{} - log.Println("filtering rankings") + log.Println("filtering rankings for", len(players), "players") filterRankings(&spRankings, &mpRankings, &overallRankings, players) - log.Println("exporting jsons") - exportAll(&spRankings, &mpRankings, &overallRankings) + log.Println("exporting jsons for", len(players), "players") + exportAll(spRankings, mpRankings, overallRankings) + + log.Println("done") } -- cgit v1.2.3