rcc-pipeline
Version:
RCC Pipeline Module - Pipeline system and workflow management based on pipeline-framework
197 lines • 6.5 kB
TypeScript
/**
* Virtual Model Scheduler Manager - Manages all scheduler instances
* 虚拟模型调度器管理器 - 管理所有调度器实例
*/
import { PipelineScheduler, SchedulerConfig } from './PipelineScheduler';
import { PipelineTracker } from './PipelineTracker';
import { BaseProvider } from './BaseProvider';
import { VirtualModelConfig } from '../types/virtual-model';
import { PipelinePool } from './PipelineAssembler';
type OperationType = 'chat' | 'streamChat' | 'healthCheck';
export interface PipelinePoolData {
virtualModelId: string;
pool: PipelinePool;
}
export interface ManagerConfig {
maxSchedulers: number;
defaultSchedulerConfig: SchedulerConfig;
enableAutoScaling: boolean;
scalingThresholds: {
minRequestsPerMinute: number;
maxRequestsPerMinute: number;
scaleUpCooldown: number;
scaleDownCooldown: number;
};
healthCheckInterval: number;
metricsRetentionPeriod: number;
enableMetricsExport: boolean;
}
export interface ManagerMetrics {
totalSchedulers: number;
activeSchedulers: number;
totalRequests: number;
successfulRequests: number;
failedRequests: number;
averageResponseTime: number;
overallErrorRate: number;
uptime: number;
lastHealthCheck: number;
virtualModelMetrics: Map<string, {
requests: number;
errors: number;
averageResponseTime: number;
lastUsed: number;
healthStatus: 'healthy' | 'degraded' | 'unhealthy';
}>;
systemLoad: {
cpuUsage?: number;
memoryUsage?: number;
activeConnections: number;
queueLength: number;
};
}
export interface ManagerHealth {
status: 'healthy' | 'degraded' | 'unhealthy';
overallHealth: number;
schedulerHealth: Map<string, {
status: 'healthy' | 'degraded' | 'unhealthy';
health: number;
details: any;
}>;
systemHealth: {
status: 'healthy' | 'degraded' | 'unhealthy';
checks: {
schedulerAvailability: boolean;
errorRates: boolean;
responseTimes: boolean;
systemResources: boolean;
};
details: any;
};
}
export interface VirtualModelMapping {
virtualModelId: string;
schedulerId: string;
config: VirtualModelConfig;
providers: Map<string, BaseProvider>;
createdAt: number;
lastUsed: number;
enabled: boolean;
}
export interface SchedulingOptions {
timeout?: number;
retries?: number;
priority?: 'low' | 'medium' | 'high' | 'critical';
healthCheck?: boolean;
metadata?: Record<string, any>;
}
/**
* Virtual Model Scheduler Manager - Central management for all virtual model schedulers
* 虚拟模型调度器管理器 - 所有虚拟模型调度器的中央管理
*/
export declare class VirtualModelSchedulerManager {
private config;
private schedulers;
private pipelinePools;
private pipelineTracker;
private virtualModelMappings;
private metrics;
private healthCheckInterval?;
private metricsCleanupInterval?;
private scalingCooldowns;
constructor(pipelinePools: Map<string, PipelinePool>, config: ManagerConfig, pipelineTracker: PipelineTracker);
/**
* Initialize schedulers from pipeline pools
* 从流水线池初始化调度器
*/
private initializeSchedulersFromPipelinePools;
/**
* Create scheduler from pipeline pool
* 从流水线池创建调度器
*/
private createSchedulerFromPool;
/**
* Register virtual model with scheduler (legacy method - now delegates to pipeline pools)
* 注册虚拟模型到调度器(传统方法 - 现在委托给流水线池)
*/
registerVirtualModel(virtualModelConfig: VirtualModelConfig, providers: Map<string, BaseProvider>, options?: SchedulingOptions): Promise<string>;
/**
* Create pipeline pool from virtual model config (for backward compatibility)
* 从虚拟模型配置创建流水线池(用于向后兼容)
*/
private createPipelinePoolFromConfig;
/**
* Unregister virtual model
* 注销虚拟模型
*/
unregisterVirtualModel(virtualModelId: string): Promise<boolean>;
/**
* Execute request through virtual model scheduler
* 通过虚拟模型调度器执行请求
*/
execute(virtualModelId: string, request: any, operation: OperationType, options?: SchedulingOptions): Promise<any>;
/**
* Execute streaming request through virtual model scheduler
* 通过虚拟模型调度器执行流式请求
*/
executeStreaming(virtualModelId: string, request: any, operation: OperationType, options?: SchedulingOptions): AsyncGenerator<any, void, unknown>;
/**
* Get scheduler for virtual model
* 获取虚拟模型的调度器
*/
private getSchedulerForVirtualModel;
/**
* Update virtual model metrics
* 更新虚拟模型指标
*/
private updateVirtualModelMetrics;
/**
* Update overall metrics
* 更新总体指标
*/
private updateOverallMetrics;
/**
* Metrics cleanup
* 指标清理
*/
private startMetricsCleanup;
private cleanupOldMetrics;
/**
* Public API methods
* 公共API方法
*/
getManagerMetrics(): ManagerMetrics;
getManagerHealth(): ManagerHealth;
getVirtualModelMappings(): VirtualModelMapping[];
getScheduler(schedulerId: string): PipelineScheduler | undefined;
getVirtualModelScheduler(virtualModelId: string): PipelineScheduler | null;
enableVirtualModel(virtualModelId: string): boolean;
disableVirtualModel(virtualModelId: string): boolean;
/**
* Update pipeline pools with fresh pools
* 使用新的流水线池更新调度器
*/
updatePipelinePools(pipelinePools: Map<string, PipelinePool>): void;
/**
* Update scheduler from pipeline pool
* 从流水线池更新调度器
*/
private updateSchedulerFromPool;
/**
* Get pipeline pools
* 获取流水线池
*/
getPipelinePools(): Map<string, PipelinePool>;
/**
* Get pipeline pool for specific virtual model
* 获取特定虚拟模型的流水线池
*/
getPipelinePool(virtualModelId: string): PipelinePool | null;
/**
* Destroy manager and cleanup resources
* 销毁管理器并清理资源
*/
destroy(): void;
}
export {};
//# sourceMappingURL=VirtualModelSchedulerManager.d.ts.map