Skip to content

Conversation

@ankitsmt211
Copy link
Member

@ankitsmt211 ankitsmt211 commented Dec 21, 2025

context: error logs being spammed by intermittent 404 status code on rss feed urls

image

failed rss feed urls are marked as blacklisted upto 24 hours, if it's a dead url it notifies with error log for admin to remove it.

How the fix works

  • Failed RSS feed URLs are tracked in an in-memory cache along with their failure count and last failure timestamp.

  • Each failure triggers an exponential backoff before the next retry: 1h, 2h, 4h, 8h, 16h, capped at 24 hours maximum.

  • While a URL is within its backoff window, it is skipped and not fetched.

  • If a fetch succeeds, the failure state is removed from cache and the URL resumes normal polling.

  • Cache entries automatically expire after 7 days, preventing stale failures from persisting indefinitely.

  • If a feed fails 15 times, it is considered potentially dead and an error is logged to notify admins to remove it from configuration.

failed rss feed urls are marked as blacklisted upto
24 hours, if it's a dead url it notifies with error log
for admin to remove it.
@ankitsmt211 ankitsmt211 self-assigned this Dec 21, 2025
@ankitsmt211 ankitsmt211 requested a review from a team as a code owner December 21, 2025 18:11
@ankitsmt211 ankitsmt211 added enhancement New feature or request priority: major labels Dec 21, 2025
moves numbers used for backing off hours
to constants and adds a helper to calculate backing off
hours duration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: major

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant