add round-robin style

This commit is contained in:
Miloš Jovanović 2026-09-24 19:18:57 -07:00
parent 3b7447289f
commit a80acaaf6b

View file

@ -16,10 +16,9 @@ func (s *Server) reconcile(ctx context.Context, runID int64, rep *User, dept str
return nil return nil
} }
if len(reps) > 1 { 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]) runID, len(reps), rep.ChapterID, dept, reps[0])
} }
agent := reps[0]
members, err := s.store.EligibleMembers(rep.ChapterID, dept) members, err := s.store.EligibleMembers(rep.ChapterID, dept)
if err != nil { if err != nil {
@ -29,8 +28,8 @@ func (s *Server) reconcile(ctx context.Context, runID int64, rep *User, dept str
// loop // loop
assigned, skipped, failed := 0, 0, 0 assigned, skipped, failed := 0, 0, 0
for _, m := range members { for i, m := range members {
agent := reps[i%len(reps)]
select { select {
case <-ctx.Done(): case <-ctx.Done():
log.Printf("run %d: cancelled after %d assigned, %d skipped", runID, assigned, skipped) log.Printf("run %d: cancelled after %d assigned, %d skipped", runID, assigned, skipped)