UNPKG

@ui18n/angular

Version:

🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+

166 lines 3.54 kB
import { TranslationRequest, TranslationResult } from './types'; import { AITranslator } from './ai-translator'; /** * 翻译任务优先级 */ export declare enum TaskPriority { LOW = 0, NORMAL = 1, HIGH = 2, URGENT = 3 } /** * 翻译任务接口 */ export interface TranslationTask { id: string; request: TranslationRequest; priority: TaskPriority; timestamp: number; resolve: (result: TranslationResult) => void; reject: (error: Error) => void; timeout?: number; retries: number; maxRetries: number; } /** * 队列统计信息 */ export interface QueueStats { pending: number; processing: number; completed: number; failed: number; totalTasks: number; averageWaitTime: number; averageProcessingTime: number; throughputPerSecond: number; memoryUsage: number; activeWorkers: number; maxConcurrency: number; } /** * 队列配置 */ export interface QueueConfig { maxConcurrency: number; maxQueueSize: number; defaultTimeout: number; enableBatching: boolean; batchSize: number; batchTimeout: number; retryAttempts: number; maxRetries?: number; backoffMultiplier: number; enableDeduplication: boolean; enablePrioritization: boolean; } /** * 高效并发翻译队列管理器 */ export declare class ConcurrentTranslationQueue { private config; private aiTranslator; private taskQueue; private processingTasks; private completedTasks; private failedTasks; private activeWorkers; private workerPromises; private pendingRequests; private batchBuffer; private batchTimer?; private stats; private processingTimes; private waitTimes; private memoryCheckInterval?; private throughputInterval?; private lastThroughputCheck; private completedInLastSecond; constructor(aiTranslator: AITranslator, config?: Partial<QueueConfig>); /** * 添加翻译任务到队列 */ addTask(request: TranslationRequest, priority?: TaskPriority, timeout?: number): Promise<TranslationResult>; /** * 添加到批处理缓冲区 */ private addToBatch; /** * 处理批次 */ private processBatch; /** * 添加到队列 */ private addToQueue; /** * 按优先级插入任务 */ private insertByPriority; /** * 处理队列 */ private processQueue; /** * 处理单个任务 */ private processTask; /** * 处理任务成功 */ private handleTaskSuccess; /** * 处理任务失败 */ private handleTaskFailure; /** * 生成任务ID */ private generateTaskId; /** * 获取去重键 */ private getDeduplicationKey; /** * 更新统计信息 */ private updateStats; /** * 估算内存使用量 */ private estimateMemoryUsage; /** * 启动监控 */ private startMonitoring; /** * 检查内存使用 */ private checkMemoryUsage; /** * 更新吞吐量 */ private updateThroughput; /** * 获取队列统计信息 */ getStats(): QueueStats; /** * 暂停队列处理 */ pause(): void; /** * 恢复队列处理 */ resume(maxConcurrency?: number): void; /** * 清空队列 */ clear(): void; /** * 销毁队列 */ destroy(): void; } //# sourceMappingURL=concurrent-translation-queue.d.ts.map