diff --git a/internal/diyhrt/diy_config.go b/internal/diyhrt/diy_config.go index 262fc95..25b1466 100644 --- a/internal/diyhrt/diy_config.go +++ b/internal/diyhrt/diy_config.go @@ -1,7 +1,9 @@ package diyhrt type DiyHrtConfig struct { - ApiKey string + ApiKey string + FetchIntervals int + StoreFilter StoreFilter ListingFilter ListingFilter } diff --git a/internal/rendering/config.go b/internal/rendering/config.go index 7e56f8f..3b1c057 100644 --- a/internal/rendering/config.go +++ b/internal/rendering/config.go @@ -63,7 +63,8 @@ func NewConfig() Config { Port: 5500, }, DiyHrt: diyhrt.DiyHrtConfig{ - ApiKey: os.Getenv("API_KEY"), + ApiKey: os.Getenv("API_KEY"), + FetchIntervals: 60, // fetch every hour StoreFilter: diyhrt.StoreFilter{ Limit: 0, IncludeIds: []int{7}, diff --git a/internal/server/server.go b/internal/server/server.go index a14fa28..e92dc1d 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -4,6 +4,7 @@ import ( "log" "net/http" "strconv" + "time" "gitea.elara.ws/Hazel/transfem-startpage/internal/cache" "gitea.elara.ws/Hazel/transfem-startpage/internal/rendering" @@ -12,12 +13,26 @@ import ( var Config = rendering.NewConfig() +func StartFetching() { + for { + log.Println("Fetch DiyHrt data...") + Config.FetchDiyHrt() + time.Sleep(time.Duration(Config.DiyHrt.FetchIntervals) * time.Second) + + if Config.DiyHrt.FetchIntervals == 0 { + break + } + } +} + func Start(profile string) error { err := Config.ScanForConfigFile(profile) if err != nil { return err } + go StartFetching() + err = Config.FetchDiyHrt() if err != nil { log.Println(err) diff --git a/tmp/build-errors.log b/tmp/build-errors.log index a2a130a..481923f 100644 --- a/tmp/build-errors.log +++ b/tmp/build-errors.log @@ -1 +1 @@ -exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1 \ No newline at end of file +exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1 \ No newline at end of file