queue-manager-pro
Version:
A flexible, TypeScript-first queue/task manager with pluggable backends ,dynamic persistence storage and event hooks.
16 lines (15 loc) • 753 B
TypeScript
import type { EmitMethod, HandlerMap, LoggerLike, Task } from '../types/index.js';
export interface QueueRepository {
loadTasks(status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>;
saveTasks(tasks: Task<HandlerMap>[], status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>;
dequeue(): Promise<Task<HandlerMap> | null>;
enqueue(task: Task<HandlerMap>): Promise<void>;
init?(): Promise<void>;
logger?: LoggerLike;
emitEvent?: EmitMethod;
MAX_RETRIES: number;
MAX_PROCESSING_TIME: number;
id: string;
updateTask(id: string, obj: Partial<Task<HandlerMap>>): Promise<Task<HandlerMap> | undefined>;
deleteTask(id: string, hardDelete?: boolean): Promise<Task<HandlerMap> | undefined>;
}