mirror of
https://github.com/yusing/godoxy.git
synced 2025-07-22 20:24:03 +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)
|
lenLongestName = len(k)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
results.EnableConcurrency()
|
||||||
cfg.providers.RangeAllParallel(func(_ string, p *proxy.Provider) {
|
cfg.providers.RangeAllParallel(func(_ string, p *proxy.Provider) {
|
||||||
if err := p.LoadRoutes(); err != nil {
|
if err := p.LoadRoutes(); err != nil {
|
||||||
errs.Add(err.Subject(p.String()))
|
errs.Add(err.Subject(p.String()))
|
||||||
|
|
|
@ -89,7 +89,7 @@ func (disp *Dispatcher) dispatch(msg *LogMessage) {
|
||||||
task := disp.task.Subtask("dispatcher")
|
task := disp.task.Subtask("dispatcher")
|
||||||
defer task.Finish("notif dispatched")
|
defer task.Finish("notif dispatched")
|
||||||
|
|
||||||
errs := gperr.NewBuilder(dispatchErr)
|
errs := gperr.NewBuilderWithConcurrency(dispatchErr)
|
||||||
disp.providers.RangeAllParallel(func(p Provider) {
|
disp.providers.RangeAllParallel(func(p Provider) {
|
||||||
if err := notifyProvider(task.Context(), p, msg); err != nil {
|
if err := notifyProvider(task.Context(), p, msg); err != nil {
|
||||||
errs.Add(gperr.PrependSubject(p.GetName(), err))
|
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
|
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 {
|
func (m Map[KT, VT]) Has(k KT) bool {
|
||||||
_, ok := m.Load(k)
|
_, ok := m.Load(k)
|
||||||
return ok
|
return ok
|
||||||
|
|
Loading…
Add table
Reference in a new issue