UNPKG

@cleotasks/core

Version:

A distributed task queue system for Node.js, inspired by Celery and BullMQ

32 lines (31 loc) 1.02 kB
import { Job } from "bullmq"; import { QueueConfig, Task, TaskOptions } from "../types/interfaces"; import { TaskState } from "../types/enums"; export declare class PriorityQueueManager { private queues; private workers; private rateLimiters; private queueConfigs; constructor(configs: QueueConfig[]); private initializeQueue; private checkRateLimit; addTask(queueName: string, task: Task, options?: TaskOptions): Promise<Job | null>; getQueueMetrics(queueName: string): Promise<{ name: string; priority: number; metrics: { waiting: number; active: number; completed: number; failed: number; }; rateLimit: { current: number; max: number | undefined; interval: number | undefined; } | null; } | null>; close(): Promise<void>; getTaskState(jobId: string): Promise<TaskState>; updateJobState(jobId: string, state: TaskState): Promise<void>; }