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 01:25 pm

[dreamwidth/dreamwidth] 655e10: Remove legacy TheSchwartz ESN workers and ESN_OVER...

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

Changed paths: M bin/upgrading/update-db-general.pl R bin/worker/esn-cluster-subs R bin/worker/esn-cluster-subs-mass R bin/worker/esn-filter-subs R bin/worker/esn-filter-subs-mass R bin/worker/esn-fired-event R bin/worker/esn-fired-event-mass R bin/worker/esn-process-sub R bin/worker/esn-process-sub-mass R bin/worker/process-esn R bin/worker/process-esn-mass M cgi-bin/DW/TaskQueue.pm M cgi-bin/DW/TaskQueue/LocalDisk.pm M cgi-bin/LJ/ESN.pm M cgi-bin/LJ/Event.pm M cgi-bin/LJ/Event/OfficialPost.pm M config/workers.json M src/dwtool/internal/config/workers.go M terraform/import.sh

Log Message:


Remove legacy TheSchwartz ESN workers and ESN_OVER_SQS tunable (#3520)

  • Remove legacy TheSchwartz ESN workers and ESN_OVER_SQS tunable

$LJ::ESN_OVER_SQS has been 1 in production, meaning 100% of ESN events route through DW::TaskQueue (SQS). The four legacy TheSchwartz-based ESN workers are consuming no work. This removes the legacy path entirely so ESN always uses the modern DW::Task::ESN::* pipeline.

  • DW::TaskQueue dispatch() now unconditionally calls fire_task for events
  • LJ::Event::fire_job() removed; process_fired_events() rewritten to drain DW::TaskQueue synchronously (used by tests)
  • LJ::ESN: removed schwartz_capabilities(), process_fired_events(), jobs_of_unique_matching_subs(), and all four LJ::Worker::* packages
  • Deleted 10 legacy worker scripts from bin/worker/
  • Removed esn-legacy entries from workers.json and dwtool CategoryOrder
  • LocalDisk::receive() gains optional wait_secs param (default 10) so process_fired_events can do non-blocking receives

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • Remove dead schwartz_role methods from LJ::Event

schwartz_role was used by the legacy TheSchwartz ESN workers (removed in the previous commit) to route certain event types to the mass job database. No code calls these methods anymore.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • Remove sch_mass_* table DDL from update-db-general.pl

These TheSchwartz tables were used by the mass ESN workers to process high-volume events on a separate job database. No code reads from or writes to them anymore — all ESN goes through DW::TaskQueue/SQS. The tables will remain in existing databases until manually dropped.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • Remove legacy esn-* worker names from terraform import script

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com