UNPKG

queue-manager-pro

Version:

A flexible, TypeScript-first queue/task manager with pluggable backends ,dynamic persistence storage and event hooks.

22 lines (21 loc) 1.19 kB
import type { HandlerMap, QueueBackendConfig, Task } from '../types/index.js'; import { BaseQueueRepository } from './base.repository.js'; import type { Redis } from 'ioredis'; import type { QueueRepository } from '../index.js'; export declare class RedisQueueRepository extends BaseQueueRepository implements QueueRepository { private readonly redis; storageName: string; private dequeueLockName; constructor(redisClient: Redis, maxRetries: number, maxProcessingTime: number, options?: Extract<QueueBackendConfig, { type: 'redis'; }>['options']); setDequeueLockName(name: string): Promise<void>; loadTasks(status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>; saveTasks(_tasks: Task<HandlerMap>[], _status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>; deleteTask(id: string, hardDelete?: boolean): Promise<Task<HandlerMap> | undefined>; getScore(task: Task<HandlerMap>): number; enqueue(task: Task<HandlerMap>): Promise<void>; updateTask(id: string, obj: Partial<Task<HandlerMap>>): Promise<Task<HandlerMap> | undefined>; private ATOMIC_DEQUEUE_LUA; dequeue(): Promise<Task<HandlerMap> | null>; }