UNPKG

@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
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; }