Yoan Bozhilov
aa5f45cecd
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-17 19:00:53 +02:00
..
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-05-20 11:21:22 +02:00
2026-05-12 07:48:58 +02:00
2026-04-28 21:29:28 +02:00
2026-06-15 16:48:13 +02:00
2026-04-28 21:29:28 +02:00
2026-05-29 13:10:15 +00:00
2026-04-28 21:29:28 +02:00
2026-05-27 17:52:52 +02:00
2026-06-02 08:21:45 +02:00
2026-04-28 21:29:28 +02:00
2026-06-16 14:21:04 +00:00
2026-06-16 14:21:05 +00:00
2026-05-11 16:22:22 +02:00
2026-05-27 17:52:52 +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-16 14:21:05 +00: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-05-12 07:48:58 +02:00
2026-01-28 09:24:24 +01: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-05-19 15:37:20 +00: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-05-27 17:52:52 +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
2025-07-01 22:45:52 +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-05-11 16:22:22 +02:00
2026-04-28 21:29:28 +02:00
2026-06-02 09:14:34 +00:00
2026-06-12 19:40:16 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-05-11 16:22:22 +02:00
2026-06-17 19:00:53 +02:00
2026-04-28 21:29:28 +02:00
2026-05-11 16:22:22 +02:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-06-16 14:28:20 +00:00
2026-04-28 21:29:28 +02:00
2025-12-11 13:27:47 +01:00
2026-06-16 14:21:04 +00:00
2026-05-28 18:43:14 +00:00
2026-04-28 21:29:28 +02:00
2026-04-28 21:29:28 +02:00
2026-06-16 14:21:04 +00: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
2025-07-01 16:26:50 +02:00
2026-02-17 06:43:16 +01:00
2026-04-28 21:29:28 +02:00
2026-02-09 10:59:31 +01:00
2026-04-28 21:29:28 +02:00
2026-05-11 14:53:29 +02:00
2026-05-11 16:22:22 +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
2025-11-05 15:42:40 +01:00
2025-07-01 22:45:52 +02:00
2026-06-09 14:57:59 +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-05-27 17:52:52 +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-30 12:38:03 +02:00
2026-04-29 23:54:19 +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-05-12 18:24:12 +02:00