Skip to content

Commit c3c889f

Browse files
author
Vladimir Smirnov
committed
Properly fix removal of non-existent repos
1 parent 26c2004 commit c3c889f

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

feeds/process.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,14 @@ func UpdateFeeds(feeds []*Feed) {
101101
runningFeeds = append(runningFeeds, feed)
102102
go func(f *Feed) {
103103
f.ProcessFeed()
104+
configs.Config.RLock()
105+
defer configs.Config.RUnlock()
106+
for i, rf := range runningFeeds {
107+
if rf.Id == f.Id {
108+
runningFeeds = append(runningFeeds[:i], runningFeeds[i+1:]...)
109+
break
110+
}
111+
}
104112
}(feed)
105113
}
106114
}
@@ -365,6 +373,15 @@ func (f *Feed) ProcessFeed() {
365373
zap.Time("now", t0),
366374
zap.Error(err),
367375
)
376+
if strings.Contains(err.Error(), "404 Not Found") {
377+
err = f.db.RemoveFeed(f.Name, f.Repo, f.Filter, f.MessagePattern)
378+
if err != nil {
379+
f.logger.Error("error removing feed", zap.Error(err))
380+
continue
381+
}
382+
f.logger.Info("feed removed")
383+
return
384+
}
368385
continue
369386
}
370387

0 commit comments

Comments
 (0)