[dreamwidth/dreamwidth] 55d198: Add exponential backoff for dead syndicated feeds
Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 55d1983593d30fd637a0f5303249894099cc5790 https://github.com/dreamwidth/dreamwidth/commit/55d1983593d30fd637a0f5303249894099cc5790 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths: R bin/maint/synsuck.pl M bin/maint/taskinfo.txt M bin/upgrading/update-db-general.pl M cgi-bin/DW/Controller/Misc.pm M cgi-bin/DW/Task/SynSuck.pm M cgi-bin/LJ/Console/Command/SynEdit.pm M cgi-bin/LJ/Feed.pm M cgi-bin/LJ/SynSuck.pm
Log Message:
Add exponential backoff for dead syndicated feeds
Dead feeds (HTTP errors, DNS failures, parse errors) were polled every 1-3 hours forever with no escalation. Add a failcount column to the syndicated table and apply exponential backoff: base_delay * 2^min(failcount, 7), capped at 30 days. Dead feeds settle into ~monthly polling instead of ~2,920 wasted requests per year.
Three backoff modes: escalate (feed/account errors), reset (success or not-modified), hold (our infrastructure issues like nodb/posterror). Reset failcount on URL change (syn_edit), feed merge, and REST ping.
Also converts SynSuck verbose print statements to Log::Log4perl, removes the now-drained legacy synsuck.pl maint worker, and fixes an out-of-scope $user reference in parse_items_from_feed().
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications
