UNPKG

@cleotasks/core

Version:

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

21 lines (20 loc) 725 B
import { Redis } from "ioredis"; import { ObserverEvent, TaskStatus } from "../types/enums"; export interface TaskObserverCallback { (taskId: string, status: TaskStatus, data?: any): void; } export declare class TaskObserver { private redis; private subscriberClient; private channelPrefix; private callbacks; constructor(redis: Redis); private createSubscriberClient; private setupSubscriber; subscribe(event: ObserverEvent, callback: TaskObserverCallback): void; unsubscribe(event: ObserverEvent): void; notify(event: ObserverEvent, taskId: string, status: TaskStatus, data?: any): void; private getChannelName; private getEventFromChannel; close(): Promise<void>; }