cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
76 lines • 2.44 kB
TypeScript
/**
* Менеджер 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