UNPKG

dt-common-device

Version:

A secure and robust device management library for IoT applications

38 lines (37 loc) 1.26 kB
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; }