diff options
author | 2023-03-01 17:58:01 +0100 | |
---|---|---|
committer | 2023-03-25 16:19:07 -0700 | |
commit | 034e46700ccb18096fbb20e20e85c836deec7cd9 (patch) | |
tree | a1a809b61c0d59ae8f5c863aec7ed14598bd8dfb /reader/processor/processor.go | |
parent | ac8f64d7a125d4f61cb17b796cd8fe4b7feccbab (diff) | |
download | v2-034e46700ccb18096fbb20e20e85c836deec7cd9.tar.gz v2-034e46700ccb18096fbb20e20e85c836deec7cd9.tar.zst v2-034e46700ccb18096fbb20e20e85c836deec7cd9.zip |
Process older entries first
Feed entries are usually ordered from most to least recent.
Processing older entries first ensures that their creation timestamp
is lower than that of newer entries.
This is useful when we order by creation, because then we get a
consistent timeline.
Diffstat (limited to 'reader/processor/processor.go')
-rw-r--r-- | reader/processor/processor.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/reader/processor/processor.go b/reader/processor/processor.go index e0bdf36d..67f50b28 100644 --- a/reader/processor/processor.go +++ b/reader/processor/processor.go @@ -44,7 +44,10 @@ func ProcessFeedEntries(store *storage.Storage, feed *model.Feed, user *model.Us // array used for bulk push entriesToPush := model.Entries{} - for _, entry := range feed.Entries { + // Process older entries first + for i := len(feed.Entries) - 1; i >= 0; i-- { + entry := feed.Entries[i] + logger.Debug("[Processor] Processing entry %q from feed %q", entry.URL, feed.FeedURL) if isBlockedEntry(feed, entry) || !isAllowedEntry(feed, entry) { |