fix route reload

This commit is contained in:
yusing 2025-02-06 17:29:47 +08:00
parent 08236b582c
commit 2192120d0f

View file

@ -84,8 +84,10 @@ func (p *Provider) MarshalText() ([]byte, error) {
func (p *Provider) startRoute(parent task.Parent, r *route.Route) E.Error { func (p *Provider) startRoute(parent task.Parent, r *route.Route) E.Error {
err := r.Start(parent) err := r.Start(parent)
if err != nil { if err != nil {
delete(p.routes, r.Alias)
return err.Subject(r.Alias) return err.Subject(r.Alias)
} }
p.routes[r.Alias] = r
return nil return nil
} }
@ -94,11 +96,8 @@ func (p *Provider) Start(parent task.Parent) E.Error {
t := parent.Subtask("provider."+p.String(), false) t := parent.Subtask("provider."+p.String(), false)
errs := E.NewBuilder("routes error") errs := E.NewBuilder("routes error")
for alias, r := range p.routes { for _, r := range p.routes {
if err := p.startRoute(t, r); err != nil { errs.Add(p.startRoute(t, r))
errs.Add(err)
delete(p.routes, alias)
}
} }
eventQueue := events.NewEventQueue( eventQueue := events.NewEventQueue(