queue-manager-pro
Version:
A flexible, TypeScript-first queue/task manager with pluggable backends ,dynamic persistence storage and event hooks.
24 lines (23 loc) • 1.31 kB
TypeScript
import type { HandlerMap, QueueBackendConfig, QueueRepository, Task } from '../index.js';
import { BaseQueueRepository } from './base.repository.js';
type PostgresBackendConfig = Extract<QueueBackendConfig, {
type: 'postgres';
}>;
export declare class PostgresQueueRepository extends BaseQueueRepository implements QueueRepository {
private readonly pg;
private readonly options;
schema: string;
tableName: string;
constructor(pg: PostgresBackendConfig['pg'], maxRetries: number, maxProcessingTime: number, options?: PostgresBackendConfig['options']);
loadTasks(status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>;
deleteTask(id: string, hardDelete?: boolean): Promise<Task<HandlerMap> | undefined>;
saveTasks(tasks: Task<HandlerMap>[], status?: Task<HandlerMap>['status']): Promise<Task<HandlerMap>[]>;
private snakeToCamelObject;
private toSnake;
enqueue(task: Task<HandlerMap>): Promise<void>;
updateTask(id: string, obj: Partial<Task<HandlerMap>>): Promise<Task<HandlerMap> | undefined>;
dequeue(): Promise<Task<HandlerMap> | null>;
postgresMigrateTasksTable(): Promise<void>;
}
export declare function postgresMigrateTasksTable(pg: PostgresBackendConfig['pg'], options?: PostgresBackendConfig['options']): Promise<void>;
export {};