From 2e13334fd75775429a52d29b78b59c0648acefef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 3 Oct 2026 19:40:10 +0800 Subject: [PATCH] =?UTF-8?q?perf(=E4=BC=9A=E5=91=98):=20=E5=9C=A8=E9=A3=9E?= =?UTF-8?q?=20running=20=E8=AE=A1=E6=95=B0=E4=B8=8B=E6=8E=A8=E5=88=B0=20ow?= =?UTF-8?q?ner=5Fstatus=20=E7=B4=A2=E5=BC=95=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - count_running_external_generation_jobs_for_owner 原先把 status 当 Rust 后置过滤,owner 的 pending 积压也会被物化 - 改为 (owner_user_id, status) 复合条件,直接走 btree 范围,语义不变 --- server-rs/crates/spacetime-module/src/external_generation.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server-rs/crates/spacetime-module/src/external_generation.rs b/server-rs/crates/spacetime-module/src/external_generation.rs index 8aa594511..0c7f63901 100644 --- a/server-rs/crates/spacetime-module/src/external_generation.rs +++ b/server-rs/crates/spacetime-module/src/external_generation.rs @@ -1028,8 +1028,7 @@ fn count_running_external_generation_jobs_for_owner( ctx.db .external_generation_job() .by_external_generation_job_owner_status() - .filter(&owner_user_id.to_string()) - .filter(|row| row.status == EXTERNAL_GENERATION_STATUS_RUNNING) + .filter((owner_user_id, EXTERNAL_GENERATION_STATUS_RUNNING)) .count() .try_into() .unwrap_or(u32::MAX)