UNPKG

rcc-pipeline

Version:

RCC Pipeline Module - Pipeline system and workflow management based on pipeline-framework

197 lines 6.5 kB
/** * 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