fix: add negative caching + cascade-resistant dedup to RSS proxy (#270)

rsshub.app was returning non-2xx responses (likely 429 rate-limit) which
were never cached, causing a thundering herd: 874 requests in 5 minutes
to the same URL instead of 1. The in-flight dedup also cascaded — when
waiters woke up and found no cache, they started their own fetches.

- Cache all RSS responses (non-2xx with 60s TTL vs 5min for success)
- Dedup waiters serve 502 on failure instead of cascading to new fetches
- Log upstream error status codes for future diagnosis
- Raise memory cleanup threshold to 450MB, only clear OpenSky cache
This commit is contained in:
Elie Habib
2026-02-23 18:42:16 +00:00
committed by GitHub
parent bfb7cec0d1
commit a8068ff579
5 changed files with 416 additions and 24 deletions

View File

@@ -142,6 +142,16 @@ const ALLOWED_DOMAINS = [
'www.lemonde.fr',
'rss.dw.com',
'www.africanews.com',
// Nigeria
'www.premiumtimesng.com',
'www.vanguardngr.com',
'www.channelstv.com',
'dailytrust.com',
'www.thisdaylive.com',
// Greek
'www.naftemporiki.gr',
'www.in.gr',
'www.iefimerida.gr',
'www.lasillavacia.com',
'www.channelnewsasia.com',
'www.thehindu.com',