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:
@@ -961,6 +961,43 @@ export interface ModelRateLimitStatus {
|
||||
recentPriorityDemotions?: PriorityDemotionRecord[];
|
||||
}
|
||||
|
||||
export interface WorkerInstanceRuntime {
|
||||
instanceId: string;
|
||||
podUid?: string;
|
||||
podName?: string;
|
||||
site?: string;
|
||||
revision?: string;
|
||||
status: string;
|
||||
allocatedCapacity: number;
|
||||
capacityLimit: number;
|
||||
hardCapacityLimit: number;
|
||||
safeCapacity: number;
|
||||
heavyCapacity: number;
|
||||
reportedActiveTasks: number;
|
||||
preparingTasks: number;
|
||||
waitingUpstreamTasks: number;
|
||||
finalizingTasks: number;
|
||||
pressureState: 'normal' | 'busy' | 'critical' | 'unknown' | string;
|
||||
pressureReason?: string;
|
||||
loadSampledAt?: string;
|
||||
runningTasks: number;
|
||||
activeLeases: number;
|
||||
heartbeatAt: string;
|
||||
drainingAt?: string;
|
||||
}
|
||||
|
||||
export interface WorkerQueueRuntime {
|
||||
queued: number;
|
||||
running: number;
|
||||
oldestWaitSeconds: number;
|
||||
}
|
||||
|
||||
export interface WorkerClusterRuntime {
|
||||
workers: WorkerInstanceRuntime[];
|
||||
queue: WorkerQueueRuntime;
|
||||
capturedAt: string;
|
||||
}
|
||||
|
||||
export interface GatewayNetworkProxyConfig {
|
||||
globalHttpProxy?: string;
|
||||
globalHttpProxySet: boolean;
|
||||
|
||||
Reference in New Issue
Block a user