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()
|
defer sclient.Close()
|
||||||
|
|
||||||
// need to load old from file
|
|
||||||
allFeeds := make(map[string]*rss.Feed)
|
allFeeds := make(map[string]*rss.Feed)
|
||||||
mon, err := monitor.New(config.MonitorPort, func(url string) {
|
mon, err := monitor.New(config.MonitorPort, func(url string) {
|
||||||
feed, ok := allFeeds[url]
|
feed, ok := allFeeds[url]
|
||||||
if !ok {
|
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
|
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()
|
items, err := allFeeds[url].Update()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log("can't update old RSS %q: %v", url, err)
|
logger.Log("can't update old RSS %q: %v", url, err)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue