UNPKG

queuex-sdk

Version:

A TypeScript-based queue management SDK with Redis support

29 lines (28 loc) 1.2 kB
import { Worker } from './services/worker'; import { Job, JobOptions, JobState } from './models/job'; import { Queue, QueueOptions } from './models/queue'; export type QueueXEvent = 'jobCompleted' | 'jobFailed' | 'jobDelayed' | 'jobStarted' | 'jobPending' | 'jobReady'; export interface QueueXConfig { redisConnection: string; defaultConcurrency?: number; } /** * Main entry point for QueueX SDK, managing queues and workers. */ export declare class QueueX { private queueManager; private storage; private workers; private eventEmitter; constructor(config: QueueXConfig); createQueue(name: string, options?: QueueOptions): Promise<Queue>; enqueue(queueName: string, data: any, options?: JobOptions): Promise<Job>; unscheduleJob(jobId: string): Promise<void>; updateJobDelay(jobId: string, newDelay: number): Promise<Job>; startWorker(queueName: string, processor: (job: Job) => Promise<any>, concurrency?: number): Worker; shutdown(): Promise<void>; on(event: QueueXEvent, listener: (job: Job) => void): void; private emitEvent; getEvents(jobId: string): Promise<string[]>; } export { Job, JobOptions, JobState, Queue, QueueOptions };