mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-19 20:32:35 +02:00
fix: update code for error handling changes, remove unused code
This commit is contained in:
parent
43566bbcfd
commit
858f65ee5a
3 changed files with 2 additions and 28 deletions
|
@ -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()))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue