dt-common-device
Version:
A secure and robust device management library for IoT applications
19 lines (18 loc) • 932 B
TypeScript
import { INotificationQueuePayload } from "./interfaces";
/**
* Enqueue an event payload to BullMQ queue for guaranteed delivery.
* Jobs are processed in parallel across different userIds but maintain FIFO order per userId.
* This replaces the previous Redis pub/sub implementation.
*/
export declare function enqueueEvent(event: INotificationQueuePayload): Promise<void>;
/**
* Start a BullMQ worker to process notification events.
* Jobs are processed in parallel across different userIds but maintain FIFO order per userId.
* The `handler` is responsible for business logic (e.g. calling processEvent()).
* This replaces the previous Redis pub/sub consumer implementation.
*/
export declare function startConsumer(handler: (payload: INotificationQueuePayload) => Promise<void>): Promise<void>;
/**
* Gracefully close the worker and queue connections
*/
export declare function closeNotificationQueue(): Promise<void>;