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.

33 lines (32 loc) 1.34 kB
import { DynamicModule, OnApplicationBootstrap, OnApplicationShutdown } from "@nestjs/common"; import { TasksQueueAsyncOptions } from "./tasks-queue-async-options.js"; import { ModuleRef } from "@nestjs/core"; export declare class TasksQueueModule implements OnApplicationBootstrap, OnApplicationShutdown { private readonly moduleRef; constructor(moduleRef: ModuleRef); /** * Create a dynamically configured queue module. * * The resulting module exports {@link TasksPoolsService} for scheduling and * worker registration, and {@link ManageTasksQueueService} for operational * management queries and mutations. * * @param options async configuration strategy * @returns configured NestJS dynamic module */ static forRootAsync(options: TasksQueueAsyncOptions): DynamicModule; private static createAsyncProviders; private static createAsyncOptionsProvider; /** * Start queue processing after NestJS application bootstrap. * * @returns nothing; workers and optional auxiliary processing start in the background */ onApplicationBootstrap(): void; /** * Stop queue processing during NestJS application shutdown. * * @returns resolved promise once queue services stop gracefully */ onApplicationShutdown(): Promise<void>; }