add round-robin style
This commit is contained in:
parent
3b7447289f
commit
a80acaaf6b
1 changed files with 3 additions and 4 deletions
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue