UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

76 lines 2.44 kB
/** * Менеджер Web Workers для CSElement * Управляет пулом воркеров и выполнением тяжелых операций */ import { EventEmitter } from 'events'; import { IWorkerManager, WorkerInstance, WorkerConfig, WorkerMessage, WorkerStatus, PoolStatus, WorkerPool } from '../types/worker-interfaces'; export declare class WorkerManager extends EventEmitter implements IWorkerManager { private workers; private workerQueue; private pendingOperations; private config; private poolConfig; private operationCounter; private isInitialized; constructor(config?: Partial<WorkerConfig>, poolConfig?: Partial<WorkerPool>); /** * Инициализация пула воркеров */ initialize(): Promise<void>; /** * Создание нового воркера */ createWorker(config?: WorkerConfig): Promise<WorkerInstance>; /** * Завершение работы воркера */ terminateWorker(workerId: string): Promise<void>; /** * Выполнение операции */ executeOperation<T = any>(operation: WorkerMessage): Promise<T>; /** * Получение статуса воркера */ getWorkerStatus(workerId?: string): WorkerStatus; /** * Получение статуса пула */ getPoolStatus(): PoolStatus; /** * Выбор воркера для выполнения операции */ private selectWorker; private selectRoundRobin; private selectLeastBusy; private selectRandom; /** * Обработка ответа от воркера */ private handleWorkerResponse; /** * Обработка ошибки воркера */ private handleWorkerError; /** * Обработка завершения воркера */ private handleWorkerTermination; /** * Пересоздание воркера */ private recreateWorker; /** * Создание объекта статуса воркера */ private createWorkerStatus; /** * Завершение работы всех воркеров */ shutdown(): Promise<void>; /** * Проверка здоровья воркеров */ healthCheck(): Promise<Record<string, boolean>>; } //# sourceMappingURL=WorkerManager.d.ts.map