Yoan Bozhilov
0799454a1f
fix(taskprocessing): claim tasks atomically with SKIP LOCKED + composite index
...
Replace the worker retry/ignore-list claim-loop with a single atomic
SELECT ... FOR UPDATE SKIP LOCKED claim (SQLite bounded-retry fallback),
preserving the no-duplicate guarantee while removing the thundering-herd
contention that throttled backlog draining. Add a (status,type,last_updated)
index via the table-creating migration + db:add-missing-indices listener.
Signed-off-by: Yoan Bozhilov <bygadd@gmail.com >
Assisted-by: Claude Code:claude-opus-4-8
2026-06-15 16:37:34 +02:00
..
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-06-01 13:46:39 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-06-01 13:46:39 +02:00
2026-04-28 21:29:28 +02:00
2026-06-01 13:46:39 +02:00
2026-02-12 11:25:55 +01:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-06-01 13:46:39 +02:00
2026-06-15 16:37:34 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-04-28 21:29:28 +02:00
2026-02-12 11:25:55 +01:00
2026-06-01 13:46:39 +02:00
2026-04-28 21:29:28 +02:00
2026-06-01 13:46:39 +02:00
2025-09-03 13:32:40 -01:00
2026-02-12 11:25:55 +01:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-06-01 13:46:39 +02:00
2026-04-23 14:13:58 +02:00
2026-04-28 21:29:28 +02:00
2026-03-18 15:50:38 +01:00
2026-04-23 14:13:58 +02:00
2026-05-29 09:14:49 +02:00
2026-05-29 09:14:49 +02:00
2026-06-12 10:34:11 +02:00