feeds for each runs all and returns all errs
parent
47c7aa74d3
commit
375fc1000a
|
|
@ -72,15 +72,20 @@ func ForEach(ctx context.Context, cb func(Feed) error) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var errs []string
|
||||||
for _, id := range ids {
|
for _, id := range ids {
|
||||||
feed, err := Get(ctx, id.ID)
|
feed, err := Get(ctx, id.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
} else if err := cb(feed); err != nil {
|
} else if err := cb(feed); err != nil {
|
||||||
return err
|
errs = append(errs, fmt.Sprintf(`failed to fetch %s: %v`, id.ID, err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(errs) > 0 {
|
||||||
|
return fmt.Errorf("failed some callbacks: %+v", errs)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue