UNPKG

@casoon/auditmysite

Version:

A comprehensive command-line tool for automated accessibility, security, performance, and SEO testing using Playwright and pa11y, based on sitemap URLs

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