dt-common-device
Version:
A secure and robust device management library for IoT applications
32 lines (31 loc) • 1.11 kB
TypeScript
import { Job } from "bullmq";
export declare class QueueManager {
/**
* Get or create a BullMQ queue
*/
static getOrCreateQueue(queueKey: string, queues: Map<string, any>): Promise<any>;
/**
* Get or create a BullMQ worker
*/
static getOrCreateWorker(queueKey: string, workers: Map<string, any>, queues: Map<string, any>, processor: (job: Job) => Promise<any>): Promise<any>;
/**
* Check if queue is empty and cleanup worker if no jobs are pending
*/
static checkAndCleanupWorker(queueKey: string, workers: Map<string, any>, queues: Map<string, any>): Promise<void>;
/**
* Close all workers and queues
*/
static closeAllWorkersAndQueues(workers: Map<string, any>, queues: Map<string, any>): Promise<void>;
/**
* Generate queue name for a property
*/
static generateQueueName(propertyId: string): string;
/**
* Extract property ID from job ID
*/
static extractPropertyIdFromJobId(jobId: string): string;
/**
* Generate unique job ID
*/
static generateJobId(propertyId: string): string;
}