diff options
author | 2023-10-20 15:12:02 -0700 | |
---|---|---|
committer | 2023-10-20 16:07:18 -0700 | |
commit | 4cc99881d870495ef35dcbb44d351e4b3c01f401 (patch) | |
tree | 46c1408d9a8eba7fdf7633201902e18c6094e579 /internal/api/feed.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/api/feed.go')
-rw-r--r-- | internal/api/feed.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/internal/api/feed.go b/internal/api/feed.go index 0f486f70..27f93ab7 100644 --- a/internal/api/feed.go +++ b/internal/api/feed.go @@ -9,6 +9,7 @@ import ( "net/http" "time" + "miniflux.app/v2/internal/config" "miniflux.app/v2/internal/http/request" "miniflux.app/v2/internal/http/response/json" "miniflux.app/v2/internal/model" @@ -69,7 +70,14 @@ func (h *handler) refreshFeed(w http.ResponseWriter, r *http.Request) { func (h *handler) refreshAllFeeds(w http.ResponseWriter, r *http.Request) { userID := request.UserID(r) - jobs, err := h.store.NewUserBatch(userID, h.store.CountFeeds(userID)) + + batchBuilder := h.store.NewBatchBuilder() + batchBuilder.WithErrorLimit(config.Opts.PollingParsingErrorLimit()) + batchBuilder.WithoutDisabledFeeds() + batchBuilder.WithNextCheckExpired() + batchBuilder.WithUserID(userID) + + jobs, err := batchBuilder.FetchJobs() if err != nil { json.ServerError(w, r, err) return |