github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
github ([personal profile] github) wrote in [site community profile] changelog2026-02-15 07:45 pm

[dreamwidth/dreamwidth] 1b24c1: Handle unhandled exceptions in SynSuck worker via ...

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 1b24c1ccf3b8b16e581c478bde4c70c0af428f01 https://github.com/dreamwidth/dreamwidth/commit/1b24c1ccf3b8b16e581c478bde4c70c0af428f01 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-15 (Sun, 15 Feb 2026)

Changed paths: M cgi-bin/DW/Task/SynSuck.pm

Log Message:


Handle unhandled exceptions in SynSuck worker via delay()

When LJ::SynSuck::update_feed() dies with an unhandled exception (e.g. "Hour '24' out of range"), the normal delay() call is never reached, so checknext is never updated. The scheduler immediately re-enqueues the same feed, creating a tight infinite retry loop.

Now the worker catches the exception, calls delay() to push checknext 6 hours into the future with laststatus='exception', and returns COMPLETED. This matches how every other error path in SynSuck already works and is better than the old TheSchwartz behavior (which retried 3 times over 90 minutes then silently gave up without updating checknext or laststatus).

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