Fetch feeds six ahead in a scan; reload the list only after a scan that checked something (#103, #104)
Fetching was 65-90% of a scan, each feed waiting for the one before: 13 s of fetches in a 20 s refresh of 32 feeds. The scan now works out which feeds are due, fetches their bodies up to six ahead in tasks of their own, and handles each in order as before, so database writes, downloads and OPML syncs stay one at a time. A Patreon creator still fetches in scan_one. The page reloaded /api/feeds, and /api/settings with it, on every scan_done: the scheduler scans every minute, so each open page reloaded the list once a minute, 169 times an hour. It now reloads only when the scan checked a feed, and asks for settings once, on first load. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Changed
|
||||
|
||||
- A scan fetches several feeds at once, so a refresh no longer waits on every site in turn.
|
||||
- An open page reloads the feed list only when a scan has checked something, not every minute.
|
||||
- Adding an address checks it first: a feed is added, a web page adds the feed it links, and anything else is refused with the reason, instead of being added and failing on every check.
|
||||
- A feed that was failing when its last subscriber left is forgotten, rather than kept with its error for good. One that worked, or has files on disk, is kept as before.
|
||||
- A feed that keeps failing is checked less and less often, waiting as long as it has been failing, up to once a day; it goes back to its schedule as soon as it works. Refreshing it still checks it at once.
|
||||
|
||||
Reference in New Issue
Block a user