dt-common-device
Version:
A secure and robust device management library for IoT applications
38 lines (37 loc) • 1.26 kB
TypeScript
import { Worker } from "bullmq";
import { Redis } from "ioredis";
import { IWebhookWorker } from "../interfaces";
import { IWebhookJobData, IWebhookProcessingResult } from "../types/webhook.types";
export declare class WebhookWorker implements IWebhookWorker {
private worker;
private webhookProcessor;
private redisConnection;
private isRunning;
private processedJobs;
private failedJobs;
private lastProcessedAt?;
constructor(redisConnection: Redis);
startProcessing(queueName: string): Promise<void>;
stopProcessing(): Promise<void>;
processWebhookJob(jobData: IWebhookJobData): Promise<IWebhookProcessingResult>;
handleError(error: Error, jobData: IWebhookJobData): Promise<void>;
getWorkerStatus(): Promise<{
isRunning: boolean;
processedJobs: number;
failedJobs: number;
lastProcessedAt?: string;
}>;
setWebhookProcessor(processor: (webhookData: any, pmsType: string) => Promise<any>): void;
/**
* Get the underlying BullMQ worker instance
*/
getWorker(): Worker | null;
/**
* Check if the worker is currently processing
*/
isWorkerRunning(): boolean;
/**
* Reset worker statistics
*/
resetStats(): void;
}