@cleotasks/core
Version:
A distributed task queue system for Node.js, inspired by Celery and BullMQ
26 lines (25 loc) • 805 B
TypeScript
import { Redis } from 'ioredis';
export interface QueueMetricsData {
waiting: number;
active: number;
completed: number;
failed: number;
delayed: number;
paused: number;
averageWaitingTime: number;
timestamp: number;
}
export declare class QueueMetrics {
private readonly redis;
private readonly metricsKeyPrefix;
private readonly retentionPeriod;
constructor(redis: Redis);
private getMetricsKey;
saveMetrics(queueName: string, metrics: QueueMetricsData): Promise<void>;
getMetrics(queueName: string, timeRange?: {
start?: number;
end?: number;
}): Promise<QueueMetricsData[]>;
getLatestMetrics(queueName: string): Promise<QueueMetricsData | null>;
getAllQueueMetrics(): Promise<Record<string, QueueMetricsData>>;
}