From e143e541ecf59fda902b7a77a6a2e336e9513136 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Fri, 26 Feb 2021 11:24:55 -0700 Subject: [PATCH] load only most recent of duplicate logs --- internal/jobs/job.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/jobs/job.go b/internal/jobs/job.go index 03a5992..49f1872 100644 --- a/internal/jobs/job.go +++ b/internal/jobs/job.go @@ -89,7 +89,10 @@ func Run(runOpts *options.ServerConfig) { for i := range oldJobs { job := oldJobs[i] job.ID = string(job.GitRef.GetRevID()) - Recents.Store(job.GitRef.GetRevID(), job) + val, ok := Recents.Load(job.GitRef.GetRevID()) + if !ok || val.(*Job).GitRef.Timestamp.Sub(job.GitRef.Timestamp) < 0 { + Recents.Store(job.GitRef.GetRevID(), job) + } } ticker := time.NewTicker(runOpts.StaleJobAge / 2) @@ -209,6 +212,7 @@ func SetReport(urlRefID webhooks.URLSafeRefID, result *Result) error { } job := value.(*Job) + // needs mutex (prevent double update) job.Report = result Actives.Store(refID, job)