fix: update code for error handling changes, remove unused code

This commit is contained in:
yusing 2025-04-24 06:24:28 +08:00
parent 43566bbcfd
commit 858f65ee5a
3 changed files with 2 additions and 28 deletions

View file

@ -319,6 +319,7 @@ func (cfg *Config) loadRouteProviders(providers *config.Providers) gperr.Error {
lenLongestName = len(k)
}
})
results.EnableConcurrency()
cfg.providers.RangeAllParallel(func(_ string, p *proxy.Provider) {
if err := p.LoadRoutes(); err != nil {
errs.Add(err.Subject(p.String()))

View file

@ -89,7 +89,7 @@ func (disp *Dispatcher) dispatch(msg *LogMessage) {
task := disp.task.Subtask("dispatcher")
defer task.Finish("notif dispatched")
errs := gperr.NewBuilder(dispatchErr)
errs := gperr.NewBuilderWithConcurrency(dispatchErr)
disp.providers.RangeAllParallel(func(p Provider) {
if err := notifyProvider(task.Context(), p, msg); err != nil {
errs.Add(gperr.PrependSubject(p.GetName(), err))

View file

@ -87,33 +87,6 @@ func (m Map[KT, VT]) CollectErrors(do func(k KT, v VT) error) []error {
return errs
}
// CollectErrors calls the given function for each key-value pair in the map,
// then returns a slice of errors collected.
func (m Map[KT, VT]) CollectErrorsParallel(do func(k KT, v VT) error) []error {
if m.Size() < minParallelSize {
return m.CollectErrors(do)
}
var errs []error
var mu sync.Mutex
var wg sync.WaitGroup
m.Range(func(k KT, v VT) bool {
wg.Add(1)
go func() {
if err := do(k, v); err != nil {
mu.Lock()
errs = append(errs, err)
mu.Unlock()
}
wg.Done()
}()
return true
})
wg.Wait()
return errs
}
func (m Map[KT, VT]) Has(k KT) bool {
_, ok := m.Load(k)
return ok