fix(queue): 重新调度终态 River 任务

等待异步准入的任务只跳过仍处于活跃状态的 River Job;missing 或 terminal Job 交由准入调度器重新创建,避免非空 river_job_id 永久阻断旧任务。\n\n通用 River 恢复排除等待准入任务,消除双恢复循环与误导日志;事务回滚继续使用独立有界上下文。\n\n验证:真实 PostgreSQL 下异步 Worker 准入验收和跨 Store 队列集成测试均通过。
This commit is contained in:
2026-07-30 17:42:33 +08:00
parent e8893e2b8f
commit fa818e9ebf
5 changed files with 52 additions and 14 deletions
+6
View File
@@ -947,6 +947,12 @@ WHERE task.async_mode = true
OR job.id IS NULL
OR job.state NOT IN ('available', 'pending', 'retryable', 'running', 'scheduled')
)
AND NOT EXISTS (
SELECT 1
FROM gateway_task_admissions admission
WHERE admission.task_id = task.id
AND admission.status = 'waiting'
)
ORDER BY task.priority ASC, task.created_at ASC
LIMIT $1`, limit)
if err != nil {