@cleotasks/core
Version:
A distributed task queue system for Node.js, inspired by Celery and BullMQ
30 lines (29 loc) • 952 B
TypeScript
import { Job } from 'bullmq';
import { Task } from '../types/interfaces';
import { RedisInstance } from '../config/redis';
import { EventEmitter } from 'events';
interface DeadLetterConfig {
maxRetries: number;
backoff: {
type: 'exponential' | 'fixed';
delay: number;
};
alertThreshold: number;
}
export declare class DeadLetterQueue extends EventEmitter {
private dlq;
private config;
private alertCount;
constructor(config?: DeadLetterConfig, instanceId?: RedisInstance);
addFailedTask(task: Task, error: Error, originalQueue: string): Promise<Job | null>;
retryTask(jobId: string): Promise<boolean>;
getFailedTasks(limit?: number, offset?: number): Promise<Job[]>;
purgeOldEntries(maxAge: number): Promise<number>;
getStats(): Promise<{
totalFailed: number;
recentFailures: number;
oldestEntry: Date | null;
}>;
close(): Promise<void>;
}
export {};