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.

22 lines (21 loc) 1.1 kB
import { TasksPool } from "./tasks-pool.js"; import { Option } from "scats"; 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<Option<number>>; scheduleAtFixedRate(task: SchedulePeriodicTaskDetails): Promise<Option<number>>; scheduleAtFixedDelay(task: SchedulePeriodicTaskDetails): Promise<Option<number>>; private taskScheduled; }