ymq
77f5aa45dc
fix(poller): 依赖门控提前到候选筛选 + 项目轮询,修复队列饥饿
agent_poller 原来 SELECT 后 [:avail] 截断只取队列头 avail 个任务,依赖门控却
在认领阶段(_claim_task)才检查——依赖未满足的僵尸 submitted 任务(created_at 最早)
永久占住队头,导致其他项目/新任务饿死(一项目卡死全平台瘫痪)。
改动:
1. 候选 SELECT 带上 depends_on,批量查依赖状态,排除依赖未满足的任务(终态=completed/approved)
2. 项目轮询(round-robin): 按 tenant_id 分组轮流取就绪任务,保证项目间公平
3. SELECT LIMIT 20->200 容纳僵尸任务;批量查依赖替代 N+1
2026-08-20 11:34:49 +08:00
..
2026-08-15 09:38:31 +08:00
2026-08-19 17:06:31 +08:00
2026-08-20 00:45:32 +08:00
2026-08-16 23:43:40 +08:00
2026-08-17 11:00:10 +08:00
2026-08-19 18:34:58 +08:00
2026-08-17 11:00:10 +08:00
2026-08-13 18:07:16 +08:00
2026-08-17 11:00:10 +08:00
2026-08-16 23:45:08 +08:00
2026-08-17 07:10:28 +08:00
2026-08-19 14:09:27 +08:00
2026-06-11 17:30:06 +08:00
2026-06-16 11:05:45 +08:00
2026-08-20 11:34:49 +08:00
2026-08-02 00:00:20 +08:00
2026-08-19 17:17:32 +08:00
2026-08-17 18:43:37 +08:00
2026-08-19 06:37:16 +08:00
2026-08-16 23:51:55 +08:00
2026-08-20 00:38:50 +08:00
2026-08-16 18:19:40 +08:00
2026-08-08 10:36:04 +08:00
2026-06-16 11:05:45 +08:00
2026-08-17 18:13:05 +08:00
2026-08-19 19:53:07 +08:00
2026-08-17 11:00:10 +08:00
2026-08-17 11:00:10 +08:00
2026-08-14 14:49:01 +08:00
2026-08-19 11:38:23 +08:00