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

81 lines 2.42 kB
export interface PriorityItem<T = any> { id: string; data: T; priority: number; timestamp: Date; attempts: number; maxAttempts: number; status: 'pending' | 'processing' | 'completed' | 'failed' | 'retrying'; error?: string; result?: any; startedAt?: Date; completedAt?: Date; duration?: number; } export interface PriorityQueueOptions { maxSize?: number; defaultPriority?: number; maxAttempts?: number; retryDelay?: number; enablePriorityBoost?: boolean; priorityBoostThreshold?: number; priorityBoostAmount?: number; } export interface QueueStats { total: number; pending: number; processing: number; completed: number; failed: number; retrying: number; averagePriority: number; averageWaitTime: number; averageProcessingTime: number; oldestItem?: PriorityItem; newestItem?: PriorityItem; } export declare class PriorityQueue<T = any> { private queue; private processing; private completed; private failed; private options; private itemIdCounter; constructor(options?: PriorityQueueOptions); enqueue(data: T, priority?: number, id?: string): string; dequeue(): PriorityItem<T> | null; peek(): PriorityItem<T> | null; complete(id: string, result?: any): boolean; fail(id: string, error?: string): boolean; retry(id: string): boolean; remove(id: string): boolean; clear(): void; getById(id: string): PriorityItem<T> | null; updatePriority(id: string, newPriority: number): boolean; getStats(): QueueStats; getPendingItems(): PriorityItem<T>[]; getProcessingItems(): PriorityItem<T>[]; getCompletedItems(): PriorityItem<T>[]; getFailedItems(): PriorityItem<T>[]; getRetryingItems(): PriorityItem<T>[]; isEmpty(): boolean; isFull(): boolean; size(): number; processingSize(): number; private findItem; private sortQueue; private applyPriorityBoost; getMaxSize(): number; setMaxSize(maxSize: number): void; getDefaultPriority(): number; setDefaultPriority(priority: number): void; getMaxAttempts(): number; setMaxAttempts(maxAttempts: number): void; enqueueBatch(items: Array<{ data: T; priority?: number; id?: string; }>): string[]; dequeueBatch(count: number): PriorityItem<T>[]; } //# sourceMappingURL=priority-queue.d.ts.map