aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-04-25 11:27:34 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-04-25 11:27:34 +0200
commitd21881150c09986571a563eaf30bc1687787e63f (patch)
treea5da8a3fdb91a3dcf806b704e20b16616a934801 /main.go
parentc08aff21cd67cc27926a4cb1ca72ffe67e015ebf (diff)
downloadfeed2imap-go-d21881150c09986571a563eaf30bc1687787e63f.tar.gz
feed2imap-go-d21881150c09986571a563eaf30bc1687787e63f.tar.bz2
feed2imap-go-d21881150c09986571a563eaf30bc1687787e63f.zip
Improved caching
Diffstat (limited to 'main.go')
-rw-r--r--main.go23
1 files changed, 9 insertions, 14 deletions
diff --git a/main.go b/main.go
index c4afc11..1850710 100644
--- a/main.go
+++ b/main.go
@@ -7,7 +7,6 @@ import (
"os"
"sync"
- "github.com/Necoro/feed2imap-go/internal/cache"
"github.com/Necoro/feed2imap-go/internal/config"
"github.com/Necoro/feed2imap-go/internal/feed"
"github.com/Necoro/feed2imap-go/internal/imap"
@@ -52,7 +51,6 @@ func run() error {
log.Print("Starting up...")
- log.Printf("Reading configuration file '%s'", *cfgFile)
cfg, feeds, err := yaml.Load(*cfgFile)
if err != nil {
return err
@@ -62,15 +60,15 @@ func run() error {
return fmt.Errorf("Configuration invalid: %w", err)
}
- if success := feed.Parse(feeds); success == 0 {
- return fmt.Errorf("No successfull feed fetch.")
- }
-
- feedCache, err := cache.Read(*cacheFile)
+ err = feeds.LoadCache(*cacheFile)
if err != nil {
return err
}
+ if success := feeds.Parse(); success == 0 {
+ return fmt.Errorf("No successfull feed fetch.")
+ }
+
imapUrl, err := url.Parse(cfg.Target)
if err != nil {
return fmt.Errorf("parsing 'target': %w", err)
@@ -83,14 +81,11 @@ func run() error {
defer c.Disconnect()
- var wg sync.WaitGroup
- wg.Add(len(feeds))
- for _, f := range feeds {
- go processFeed(f, cfg, c, &wg)
- }
- wg.Wait()
+ feeds.ForeachGo(func(f *feed.Feed, wg *sync.WaitGroup) {
+ processFeed(f, cfg, c, wg)
+ })
- if err = cache.Store(*cacheFile, feedCache); err != nil {
+ if err = feeds.StoreCache(*cacheFile); err != nil {
return err
}
tions'>+525 2008-01-20 r687@Devoty: necoro | 2008-01-20 13:56:53 +0100Necoro1-2/+2 2008-01-20 r686@Devoty: necoro | 2008-01-20 04:50:27 +0100Necoro1-2/+3 2008-01-20 r682@Devoty: necoro | 2008-01-20 03:23:02 +0100Necoro2-5/+5 2008-01-20 r680@Devoty: necoro | 2008-01-20 02:53:30 +0100Necoro7-55/+100 2008-01-19 r675@Devoty: necoro | 2008-01-19 23:33:38 +0100Necoro2-366/+396 2008-01-18 r669@Devoty: necoro | 2008-01-18 22:49:33 +0100Necoro1-6/+6 2008-01-18 r664@Devoty: necoro | 2008-01-18 21:40:29 +0100Necoro5-26/+181 2008-01-18 r661@Devoty: necoro | 2008-01-18 14:16:59 +0100Necoro8-211/+293 2008-01-18 r655@Devoty: necoro | 2008-01-18 03:04:53 +0100Necoro1-1/+1 2008-01-18 r651@Devoty: necoro | 2008-01-18 02:41:51 +0100Necoro3-393/+513 2008-01-18 r643@Devoty: necoro | 2008-01-16 18:55:49 +0100Necoro14-249/+525 2008-01-14 r634@Devoty: necoro | 2008-01-14 23:48:24 +0100Necoro3-1/+4 2008-01-14 r632@Devoty: necoro | 2008-01-14 23:44:52 +0100Necoro3-175/+181 2008-01-14(no commit message)Necoro10-758/+1014 2008-01-14 r621@Devoty: necoro | 2008-01-14 20:21:40 +0100Necoro2-21/+61 2008-01-14 r618@Devoty: necoro | 2008-01-14 20:19:05 +0100Necoro2-35/+57 2008-01-14 r617@Devoty: necoro | 2008-01-14 19:12:59 +0100Necoro2-10/+10 2008-01-14 r609@Devoty: necoro | 2008-01-14 17:04:38 +0100Necoro9-394/+477 2008-01-14 r605@Devoty: necoro | 2008-01-14 11:43:34 +0100Necoro2-26/+129 2008-01-14 r603@Devoty: necoro | 2008-01-14 11:30:26 +0100Necoro4-26/+38 2008-01-11 r598@Devoty: necoro | 2008-01-10 16:36:29 +0100Necoro4-10/+50 2008-01-11 r597@Devoty: necoro | 2008-01-10 14:12:35 +0100Necoro1-3/+3 2008-01-10 r595@Devoty: necoro | 2008-01-10 04:04:15 +0100Necoro1-52/+3 2008-01-09 r586@Devoty: necoro | 2008-01-09 14:54:18 +0100Necoro1-1/+1 2007-12-06 r577@Devoty: necoro | 2007-12-06 20:37:36 +0100Necoro1-1/+1 2007-12-06 r572@Devoty: necoro | 2007-11-28 08:48:15 +0100Necoro1-0/+1 2007-11-27 r570@Devoty: necoro | 2007-11-27 02:08:21 +0100Necoro3-84/+108