parallelize fetching feeds
This commit is contained in:
parent
1b248ddbbb
commit
aa5b4923a3
|
@ -44,12 +44,21 @@ func rssfetch(cmd *cobra.Command, urls []string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fp := gofeed.NewParser()
|
fp := gofeed.NewParser()
|
||||||
|
var feedChs []chan *gofeed.Feed
|
||||||
for _, url := range urls {
|
for _, url := range urls {
|
||||||
|
ch := make(chan *gofeed.Feed)
|
||||||
|
go func(url string) {
|
||||||
feed, err := fp.ParseURL(url)
|
feed, err := fp.ParseURL(url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
ch <- feed
|
||||||
|
}(url)
|
||||||
|
feedChs = append(feedChs, ch)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, feedCh := range feedChs {
|
||||||
|
feed := <-feedCh
|
||||||
for _, item := range feed.Items {
|
for _, item := range feed.Items {
|
||||||
out, err := formatItem(item, tmpl)
|
out, err := formatItem(item, tmpl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue