From c63d71e2f3f855f71a180d80c0f922a2ca836348 Mon Sep 17 00:00:00 2001 From: Simon Tucker Date: Sat, 17 Oct 2020 11:24:34 -0700 Subject: [PATCH] Updates on time now --- recordadder.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/recordadder.go b/recordadder.go index fffb647..0b2500f 100644 --- a/recordadder.go +++ b/recordadder.go @@ -154,6 +154,13 @@ func (s *Server) load(ctx context.Context) (*pb.Queue, error) { return queue, nil } +func min(t1, t2 time.Duration) time.Duration { + if t1 < t2 { + return t1 + } + return t2 +} + func (s *Server) runTimedTask() error { time.Sleep(time.Second * 10) @@ -165,11 +172,13 @@ func (s *Server) runTimedTask() error { return err } for s.running { - time.Sleep(time.Unix(queue.LastAdditionDate, 0).Add(time.Hour * 24).Sub(time.Now())) + minTime := min(time.Unix(queue.LastAdditionDate, 0).Add(time.Hour*24).Sub(time.Now()), time.Unix(queue.GetLastDigitalAddition(), 0).Add(time.Hour*24).Sub(time.Now())) + s.Log(fmt.Sprintf("Sleeping for %v", minTime)) + time.Sleep(minTime) ctx, cancel = utils.ManualContext("adder-load", "adder-load", time.Minute, true) queue, err = s.load(ctx) cancel() - if err == nil && time.Now().After(time.Unix(queue.LastAdditionDate, 0).Add(time.Hour*24)) { + if err == nil && (time.Now().After(time.Unix(queue.LastAdditionDate, 0).Add(time.Hour*24)) || time.Now().After(time.Unix(queue.GetLastDigitalAddition(), 0).Add(time.Hour*24))) { done, err := s.Elect() if err == nil {