@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.
21 lines (20 loc) • 1.04 kB
TypeScript
import { TasksPool } from "./tasks-pool.js";
import { TasksQueueDao } from "./tasks-queue.dao.js";
import { SchedulePeriodicTaskDetails, ScheduleTaskDetails } from "./tasks-model.js";
import { TasksWorker } from "./tasks-worker.js";
import { ManageTasksQueueService } from "./manage-tasks-queue.service.js";
export declare const DEFAULT_POOL = "default";
export declare class TasksPoolsService {
private readonly dao;
private readonly pools;
private readonly queuesPool;
private readonly auxiliaryWorker;
constructor(dao: TasksQueueDao, manageTasksQueueService: ManageTasksQueueService, runAuxiliaryWorker: boolean, pools?: TasksPool[]);
start(): void;
stop(timeoutMs?: number): Promise<void>;
registerWorker(queueName: string, worker: TasksWorker, poolName?: string): void;
schedule(task: ScheduleTaskDetails): Promise<void>;
scheduleAtFixedRate(task: SchedulePeriodicTaskDetails): Promise<void>;
scheduleAtFixedDelay(task: SchedulePeriodicTaskDetails): Promise<void>;
private taskScheduled;
}