MCPcopy Create free account
hub / github.com/tbphp/gpt-load / SelectSubGroup

Method SelectSubGroup

internal/services/subgroup_manager.go:36–57  ·  view source on GitHub ↗

SelectSubGroup selects an appropriate sub-group for the given aggregate group

(group *models.Group)

Source from the content-addressed store, hash-verified

34
35// SelectSubGroup selects an appropriate sub-group for the given aggregate group
36func (m *SubGroupManager) SelectSubGroup(group *models.Group) (string, error) {
37 if group.GroupType != "aggregate" {
38 return "", nil
39 }
40
41 selector := m.getSelector(group)
42 if selector == nil {
43 return "", fmt.Errorf("no valid sub-groups available for aggregate group '%s'", group.Name)
44 }
45
46 selectedName := selector.selectNext()
47 if selectedName == "" {
48 return "", fmt.Errorf("no sub-groups with active keys for aggregate group '%s'", group.Name)
49 }
50
51 logrus.WithFields(logrus.Fields{
52 "aggregate_group": group.Name,
53 "selected_group": selectedName,
54 }).Debug("Selected sub-group from aggregate")
55
56 return selectedName, nil
57}
58
59// RebuildSelectors rebuild all selectors based on the incoming group
60func (m *SubGroupManager) RebuildSelectors(groups map[string]*models.Group) {

Callers 1

HandleProxyMethod · 0.80

Calls 2

getSelectorMethod · 0.95
selectNextMethod · 0.80

Tested by

no test coverage detected