UNPKG

torotask

Version:

Task queue processing in NodeJS based on BullMQ and Redis

31 lines 2.47 kB
import type { JobProgress, QueueListener, WorkerListener } from 'bullmq'; import type { TaskJob } from '../job.js'; import type { TaskJobData } from './job.js'; import type { TaskQueueOptions } from './queue.js'; import type { TaskProcessor, TaskValidator, TaskWorkerOptions } from './worker.js'; export type TaskWorkerQueueOptions<PayloadType = any, ResultType = any, NameType extends string = string> = TaskQueueOptions & { processor?: string | URL | null | TaskProcessor<PayloadType, ResultType, NameType>; validator?: null | TaskValidator<PayloadType, ResultType, NameType>; workerOptions?: Partial<TaskWorkerOptions>; }; export interface TaskWorkerQueueListener<PayloadType = any, ResultType = any, NameType extends string = string, DataType extends TaskJobData = TaskJobData<PayloadType>> extends QueueListener<TaskJob<PayloadType, ResultType, NameType>> { 'worker:active': WorkerListener<DataType, ResultType, NameType>['active']; 'worker:closed': WorkerListener<DataType, ResultType, NameType>['closed']; 'worker:closing': WorkerListener<DataType, ResultType, NameType>['closing']; 'worker:completed': WorkerListener<DataType, ResultType, NameType>['completed']; 'worker:drained': WorkerListener<DataType, ResultType, NameType>['drained']; 'worker:error': WorkerListener<DataType, ResultType, NameType>['error']; 'worker:failed': WorkerListener<DataType, ResultType, NameType>['failed']; 'worker:paused': WorkerListener<DataType, ResultType, NameType>['paused']; 'worker:progress': WorkerListener<DataType, ResultType, NameType>['progress']; 'worker:ready': WorkerListener<DataType, ResultType, NameType>['ready']; 'worker:resumed': WorkerListener<DataType, ResultType, NameType>['resumed']; 'worker:stalled': WorkerListener<DataType, ResultType, NameType>['stalled']; } export interface WorkerEventHandlers<PayloadType = any, ResultType = any, NameType extends string = string> extends Omit<WorkerListener, 'active' | 'completed' | 'failed' | 'progress'> { active: (job: TaskJob<PayloadType, ResultType, NameType>, prev: string) => void; completed: (job: TaskJob<PayloadType, ResultType, NameType>, result: ResultType, prev: string) => void; failed: (job: TaskJob<PayloadType, ResultType, NameType> | undefined, error: Error, prev: string) => void; progress: (job: TaskJob<PayloadType, ResultType, NameType>, progress: JobProgress) => void; } //# sourceMappingURL=worker-queue.d.ts.map