diff options
author | 2023-10-20 15:12:02 -0700 | |
---|---|---|
committer | 2023-10-20 16:07:18 -0700 | |
commit | 4cc99881d870495ef35dcbb44d351e4b3c01f401 (patch) | |
tree | 46c1408d9a8eba7fdf7633201902e18c6094e579 /internal/cli/refresh_feeds.go | |
parent | 95ee1c423b1157a967fb2024aa86bd395ead23f8 (diff) | |
download | v2-4cc99881d870495ef35dcbb44d351e4b3c01f401.tar.gz v2-4cc99881d870495ef35dcbb44d351e4b3c01f401.tar.zst v2-4cc99881d870495ef35dcbb44d351e4b3c01f401.zip |
Refactor Batch Builder and prevent accidental and excessive refreshes from the web ui
Diffstat (limited to 'internal/cli/refresh_feeds.go')
-rw-r--r-- | internal/cli/refresh_feeds.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/internal/cli/refresh_feeds.go b/internal/cli/refresh_feeds.go index 3af4ecdb..e10600f3 100644 --- a/internal/cli/refresh_feeds.go +++ b/internal/cli/refresh_feeds.go @@ -18,7 +18,15 @@ func refreshFeeds(store *storage.Storage) { var wg sync.WaitGroup startTime := time.Now() - jobs, err := store.NewBatch(config.Opts.BatchSize()) + + // Generate a batch of feeds for any user that has feeds to refresh. + batchBuilder := store.NewBatchBuilder() + batchBuilder.WithBatchSize(config.Opts.BatchSize()) + batchBuilder.WithErrorLimit(config.Opts.PollingParsingErrorLimit()) + batchBuilder.WithoutDisabledFeeds() + batchBuilder.WithNextCheckExpired() + + jobs, err := batchBuilder.FetchJobs() if err != nil { slog.Error("Unable to fetch jobs from database", slog.Any("error", err)) return |