Shutdown 关闭所有 Agent
()
| 183 | |
| 184 | // Shutdown 关闭所有 Agent |
| 185 | func (p *Pool) Shutdown() error { |
| 186 | p.mu.Lock() |
| 187 | defer p.mu.Unlock() |
| 188 | |
| 189 | var lastErr error |
| 190 | for id, ag := range p.agents { |
| 191 | if err := ag.Close(); err != nil { |
| 192 | lastErr = fmt.Errorf("close agent %s: %w", id, err) |
| 193 | } |
| 194 | } |
| 195 | |
| 196 | // 清空池 |
| 197 | p.agents = make(map[string]*agent.Agent) |
| 198 | return lastErr |
| 199 | } |
| 200 | |
| 201 | // ForEach 遍历所有 Agent |
| 202 | func (p *Pool) ForEach(fn func(agentID string, ag *agent.Agent) error) error { |