From a80acaaf6b6c7022e5d64a329134f65c08b071b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Jovanovi=C4=87?= Date: Thu, 24 Sep 2026 19:18:57 -0700 Subject: [PATCH] add round-robin style --- reconcile.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/reconcile.go b/reconcile.go index 4e45a52..5063102 100644 --- a/reconcile.go +++ b/reconcile.go @@ -16,10 +16,9 @@ func (s *Server) reconcile(ctx context.Context, runID int64, rep *User, dept str return nil } if len(reps) > 1 { - log.Printf("WARNING: run %d: %d reps for chapter %d dept %q; assigning all to %d (fill-only mode)", + log.Printf("run %d: %d reps for chapter %d dept %q; splitting round-robin across %v", runID, len(reps), rep.ChapterID, dept, reps[0]) } - agent := reps[0] members, err := s.store.EligibleMembers(rep.ChapterID, dept) if err != nil { @@ -29,8 +28,8 @@ func (s *Server) reconcile(ctx context.Context, runID int64, rep *User, dept str // loop assigned, skipped, failed := 0, 0, 0 - for _, m := range members { - + for i, m := range members { + agent := reps[i%len(reps)] select { case <-ctx.Done(): log.Printf("run %d: cancelled after %d assigned, %d skipped", runID, assigned, skipped)