fix(worker): 统一异步执行准入范围

Worker 执行阶段重建准入范围时遗漏 worker_capacity,导致已预留 River 槽的任务再次同步等待准入并占住执行槽。

调度、执行和候选切换统一复用 taskAdmissionScopes,确保异步任务始终携带同一全局 Worker 容量范围。

验证:Go 全量测试、runner race、go vet、迁移安全检查通过。
This commit is contained in:
2026-07-31 07:15:44 +08:00
parent 238798e47c
commit bfd1257db0
2 changed files with 27 additions and 17 deletions
+4 -2
View File
@@ -544,8 +544,10 @@ func (s *Service) executeWithToken(ctx context.Context, task store.GatewayTask,
var admittedLeases []store.ConcurrencyLease
admittedPlatformModelID := ""
if distributedAdmission && len(candidates) > 0 {
admissionScopes, groupID := s.admissionScopes(ctx, user, candidates[0])
admissionScopes = acceptanceAdmissionScopes(task, admissionScopes)
admissionScopes, groupID, scopeErr := s.taskAdmissionScopes(ctx, task, user, candidates[0])
if scopeErr != nil {
return Result{}, scopeErr
}
hasConcurrentLimit := false
for _, scope := range admissionScopes {
if scope.ConcurrentLimit > 0 {