Lazily load old feeds when triggered
parent
1c6bea94e2
commit
c1cf329d57
16
main.go
16
main.go
|
|
@ -22,14 +22,26 @@ func main() {
|
|||
}
|
||||
defer sclient.Close()
|
||||
|
||||
// need to load old from file
|
||||
allFeeds := make(map[string]*rss.Feed)
|
||||
mon, err := monitor.New(config.MonitorPort, func(url string) {
|
||||
feed, ok := allFeeds[url]
|
||||
if !ok {
|
||||
logger.Log("unknown feed triggered in monitor: %q", url)
|
||||
f, err := rss.New(url, "", "")
|
||||
if err != nil {
|
||||
logger.Log("cannot identify unknown feed triggered in monitor: %q: %v", url, err)
|
||||
return
|
||||
}
|
||||
b, err := sclient.Get(nsForFeeds, f.ID())
|
||||
if err != nil {
|
||||
logger.Log("cannot get unknown feed triggered in monitor: %q: %v", url, err)
|
||||
return
|
||||
}
|
||||
feed, err = rss.Deserialize(b)
|
||||
if err != nil {
|
||||
logger.Log("cannot deserialize feed triggered in monitor: %q: %v", url, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
items, err := allFeeds[url].Update()
|
||||
if err != nil {
|
||||
logger.Log("can't update old RSS %q: %v", url, err)
|
||||
|
|
|
|||
Loading…
Reference in New Issue