UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

60 lines 1.74 kB
import { Browser, BrowserContext, Page } from 'playwright'; export interface WorkerPoolOptions { maxWorkers?: number; browserType?: 'chromium' | 'firefox' | 'webkit'; headless?: boolean; timeout?: number; viewport?: { width: number; height: number; }; userAgent?: string; enableResourceMonitoring?: boolean; maxMemoryUsage?: number; maxCpuUsage?: number; } export interface Worker { id: number; browser: Browser; context: BrowserContext; page: Page; isBusy: boolean; currentUrl?: string; startTime?: Date; memoryUsage: number; cpuUsage: number; } export interface WorkerStats { totalWorkers: number; busyWorkers: number; idleWorkers: number; averageMemoryUsage: number; averageCpuUsage: number; totalMemoryUsage: number; totalCpuUsage: number; } export declare class WorkerPool { private workers; private options; private isInitialized; private workerIdCounter; constructor(options?: WorkerPoolOptions); initialize(): Promise<void>; private createBrowser; private createWorker; getAvailableWorker(): Promise<Worker | null>; releaseWorker(worker: Worker): Promise<void>; executeTask<T>(task: (worker: Worker) => Promise<T>, url?: string): Promise<T>; private monitorResources; getStats(): WorkerStats; getWorkerById(id: number): Worker | undefined; getBusyWorkers(): Worker[]; getIdleWorkers(): Worker[]; resizePool(newSize: number): Promise<void>; private destroyWorker; cleanup(): Promise<void>; getInitializationStatus(): boolean; getMaxWorkers(): number; setMaxWorkers(max: number): void; } //# sourceMappingURL=worker-pool.d.ts.map