@penkov/tasks_queue
Version:
A lightweight PostgreSQL-backed task queue system with scheduling, retries, backoff strategies, and priority handling. Designed for efficiency and observability in modern Node.js applications.
19 lines (18 loc) • 742 B
TypeScript
import { ModuleMetadata, Type } from "@nestjs/common/interfaces";
import pg from "pg";
import { TasksPool } from "./tasks-pool.js";
export interface TasksQueueModuleOptions {
db: pg.Pool;
pools: TasksPool[];
runAuxiliaryWorker?: boolean;
}
export declare const TASKS_QUEUE_OPTIONS: unique symbol;
export interface TasksQueueOptionsFactory {
createTelegrafOptions(): Promise<TasksQueueModuleOptions> | TasksQueueModuleOptions;
}
export interface TasksQueueAsyncOptions extends Pick<ModuleMetadata, "imports"> {
useExisting?: Type<TasksQueueOptionsFactory>;
useClass?: Type<TasksQueueOptionsFactory>;
useFactory?: (...args: any[]) => Promise<TasksQueueModuleOptions> | TasksQueueModuleOptions;
inject?: any[];
}