fix(acceptance): 避免用户组阻塞候选队列
验收用户组仅承担身份和账务隔离,不再创建非约束性的组级并发队列,避免不同生产候选之间出现 FIFO 队头阻塞。真实候选自身的并发、排队和限流策略保持不变。\n\n验证:bash -n;ShellCheck;git diff --check。
This commit is contained in:
@@ -238,13 +238,7 @@ ensure_acceptance_user_group() {
|
|||||||
priority:1,
|
priority:1,
|
||||||
rechargeDiscountPolicy:{},
|
rechargeDiscountPolicy:{},
|
||||||
billingDiscountPolicy:{},
|
billingDiscountPolicy:{},
|
||||||
rateLimitPolicy:{
|
rateLimitPolicy:{rules:[]},
|
||||||
rules:[{
|
|
||||||
metric:"concurrent",
|
|
||||||
limit:1000,
|
|
||||||
leaseTtlSeconds:600
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
quotaPolicy:{},
|
quotaPolicy:{},
|
||||||
metadata:{purpose:"production_acceptance",isolated:true},
|
metadata:{purpose:"production_acceptance",isolated:true},
|
||||||
status:"active"
|
status:"active"
|
||||||
@@ -342,7 +336,13 @@ SELECT
|
|||||||
FROM gateway_user_groups
|
FROM gateway_user_groups
|
||||||
WHERE id='$group_id'::uuid
|
WHERE id='$group_id'::uuid
|
||||||
AND status='active'
|
AND status='active'
|
||||||
AND rate_limit_policy @> '{\"rules\":[{\"metric\":\"concurrent\",\"limit\":1000}]}'::jsonb)
|
AND NOT EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM jsonb_array_elements(
|
||||||
|
COALESCE(rate_limit_policy->'rules','[]'::jsonb)
|
||||||
|
) rule
|
||||||
|
WHERE rule->>'metric' IN ('concurrent','queue_size')
|
||||||
|
))
|
||||||
||':'||
|
||':'||
|
||||||
(SELECT count(*)
|
(SELECT count(*)
|
||||||
FROM gateway_users
|
FROM gateway_users
|
||||||
@@ -357,7 +357,7 @@ SELECT
|
|||||||
echo 'dedicated acceptance identity isolation verification failed' >&2
|
echo 'dedicated acceptance identity isolation verification failed' >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
echo 'acceptance_user_group=PASS concurrent_limit=1000 active_keys=1 isolated=true'
|
echo 'acceptance_user_group=PASS rate_limit=production_candidates active_keys=1 isolated=true'
|
||||||
}
|
}
|
||||||
|
|
||||||
select_acceptance_models() {
|
select_acceptance_models() {
|
||||||
|
|||||||
Reference in New Issue
Block a user