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.

23 lines (22 loc) 1.02 kB
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 interface TasksQueueConfig { concurrency: number; runAuxiliaryWorker: boolean; loopInterval: number; } export declare class TasksQueueService { private readonly tasksQueueDao; private readonly worker; private readonly auxiliaryWorker; constructor(tasksQueueDao: TasksQueueDao, manageTasksQueueService: ManageTasksQueueService, config: TasksQueueConfig); schedule(task: ScheduleTaskDetails): Promise<void>; scheduleAtFixedRate(task: SchedulePeriodicTaskDetails): Promise<void>; scheduleAtFixedDelay(task: SchedulePeriodicTaskDetails): Promise<void>; taskScheduled(queueName: string): void; registerWorker(queueName: string, worker: TasksWorker): void; start(): void; stop(): Promise<void>; }