feat(worker): 实现集群限流与自适应负载

保留平台模型 RPM、TPM 和并发策略语义,增加 PostgreSQL 集群级租约、饱和候选重选和多平台自动负载,避免突发任务固定等待首个平台。\n\n新增 Worker 实时负载采样、自适应 active/heavy 容量、心跳与管理端指标,并扩展本地 acceptance runner,覆盖三 Worker、同模型三平台 2/4/6 并发和 48 个带图视频突发任务。\n\n验证:go test ./...、go vet ./...、PostgreSQL 跨 Store 集成测试、gofmt、bash -n、ShellCheck 及本地集群 provider-burst 验收通过;48/48 成功,无越限、重复提交、重复计费、重复回调或终态资源泄漏。
This commit is contained in:
2026-08-03 00:13:46 +08:00
parent 9a01fd4657
commit c28bf74230
52 changed files with 3700 additions and 272 deletions
+81
View File
@@ -4196,6 +4196,73 @@ definitions:
primaryAccount:
$ref: '#/definitions/store.GatewayWalletAccount'
type: object
store.WorkerClusterRuntime:
properties:
capturedAt:
type: string
queue:
$ref: '#/definitions/store.WorkerQueueRuntime'
workers:
items:
$ref: '#/definitions/store.WorkerInstanceRuntime'
type: array
type: object
store.WorkerInstanceRuntime:
properties:
activeLeases:
type: integer
allocatedCapacity:
type: integer
capacityLimit:
type: integer
drainingAt:
type: string
finalizingTasks:
type: integer
hardCapacityLimit:
type: integer
heartbeatAt:
type: string
heavyCapacity:
type: integer
instanceId:
type: string
loadSampledAt:
type: string
podName:
type: string
podUid:
type: string
preparingTasks:
type: integer
pressureReason:
type: string
pressureState:
type: string
reportedActiveTasks:
type: integer
revision:
type: string
runningTasks:
type: integer
safeCapacity:
type: integer
site:
type: string
status:
type: string
waitingUpstreamTasks:
type: integer
type: object
store.WorkerQueueRuntime:
properties:
oldestWaitSeconds:
type: number
queued:
type: integer
running:
type: integer
type: object
info:
contact: {}
description: |-
@@ -5846,6 +5913,20 @@ paths:
summary: 更新 Runner 策略
tags:
- runtime
/api/admin/runtime/workers:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/store.WorkerClusterRuntime'
security:
- BearerAuth: []
summary: 获取集群 Worker 实时负载与领取容量
tags:
- acceptance
/api/admin/system/acceptance/capacity-profiles:
get:
produces: