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:13 pm

[dreamwidth/dreamwidth] 318978: Fix dispatch() sending mixed task types to wrong S...

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

Changed paths: M cgi-bin/DW/TaskQueue.pm

Log Message:


Fix dispatch() sending mixed task types to wrong SQS queue

dispatch() batched all DW::Task objects into a single send() call, but send() routes the entire batch to the queue of the first task. When a single dispatch([profile] jobs) contained both LJ::Events (converted to FiredEvent tasks) and SphinxCopier tasks, the SphinxCopier messages ended up in the ESN queue, causing "Can't locate object method work" errors in the ESN worker.

Group tasks by type before sending so each type goes to its own queue. Also croak on failed module loads in start_work() instead of silently continuing.

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