diff --git a/apps/api/internal/store/candidates.go b/apps/api/internal/store/candidates.go index a14ce34..085b139 100644 --- a/apps/api/internal/store/candidates.go +++ b/apps/api/internal/store/candidates.go @@ -104,9 +104,17 @@ LEFT JOIN ( AND expires_at > statement_timestamp() GROUP BY scope_key ) con ON con.scope_key = $5::text || m.id::text -LEFT JOIN ( + LEFT JOIN ( SELECT queued_sources.platform_model_id, COUNT(DISTINCT queued_sources.task_id) AS waiting FROM ( + SELECT admission.task_id::text AS task_id, + admission.platform_model_id::text AS platform_model_id + FROM gateway_task_admissions admission + JOIN gateway_tasks admission_task ON admission_task.id = admission.task_id + WHERE admission.status = 'waiting' + AND admission_task.status = 'queued' + AND admission_task.next_run_at <= now() + UNION ALL SELECT t.id::text AS task_id, qm.id::text AS platform_model_id FROM gateway_tasks t JOIN integration_platforms qp ON TRUE