aboutsummaryrefslogtreecommitdiff
path: root/internal/cli/refresh_feeds.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <f@miniflux.net> 2023-10-20 15:12:02 -0700
committerGravatar Frédéric Guillot <f@miniflux.net> 2023-10-20 16:07:18 -0700
commit4cc99881d870495ef35dcbb44d351e4b3c01f401 (patch)
tree46c1408d9a8eba7fdf7633201902e18c6094e579 /internal/cli/refresh_feeds.go
parent95ee1c423b1157a967fb2024aa86bd395ead23f8 (diff)
downloadv2-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.go10
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