1 | import { Type } from "@nestjs/common";
|
2 | import { ModuleMetadata } from "@nestjs/common/interfaces";
|
3 | import * as Bull from "bull";
|
4 | import { Redis } from "ioredis";
|
5 | export declare type BullName = string | symbol;
|
6 | export interface BullQueueDefaultProcessorOptions {
|
7 | concurrency?: number;
|
8 | skip?: boolean;
|
9 | }
|
10 | export interface BullQueueDefaultJobOptions {
|
11 | setTTLOnComplete?: number;
|
12 | setTTLOnFail?: number;
|
13 | }
|
14 | export interface BullQueueExtraOptions {
|
15 | defaultProcessorOptions?: BullQueueDefaultProcessorOptions;
|
16 | defaultJobOptions?: BullQueueDefaultJobOptions;
|
17 | }
|
18 | export declare type BullQueueType = string | Type<unknown>;
|
19 | export interface BullQueueMock extends Pick<BullQueue, "name" | "add" | "isReady" | "close" | "process"> {
|
20 | on: (listener: string, callback: () => void) => void;
|
21 | }
|
22 | export interface BullModuleOptions {
|
23 | queues: BullQueueType[];
|
24 | options?: Bull.QueueOptions;
|
25 | extra?: BullQueueExtraOptions;
|
26 | mock?: boolean;
|
27 | }
|
28 | export declare type BullModuleAsyncOptions = {
|
29 | useClass?: Type<BullModuleOptionsFactory>;
|
30 | useFactory?: (...args: unknown[]) => Promise<BullModuleOptions> | BullModuleOptions;
|
31 | inject?: Array<Type<any> | string | any>;
|
32 | } & Pick<ModuleMetadata, "imports">;
|
33 | export interface BullModuleOptionsFactory {
|
34 | createBullModuleOptions(): Promise<BullModuleOptions> | BullModuleOptions;
|
35 | }
|
36 | export interface BaseBullQueueOptions {
|
37 | name?: BullName;
|
38 | }
|
39 | export interface BullQueueOptions extends BaseBullQueueOptions {
|
40 | options?: Bull.QueueOptions;
|
41 | extra?: BullQueueExtraOptions;
|
42 | }
|
43 | export interface BullQueueProcessorOptions extends BaseBullQueueOptions {
|
44 | name?: string;
|
45 | concurrency?: number;
|
46 | skip?: boolean;
|
47 | isCustomProcessorName?: boolean;
|
48 | }
|
49 | export interface BullQueueEventOptions extends BaseBullQueueOptions {
|
50 | eventNames: string[];
|
51 | }
|
52 | export declare type BullQueue = Bull.Queue & {
|
53 | clients: Redis[];
|
54 | };
|
55 | export declare type BullJob = Bull.Job & {
|
56 | toKey: () => string;
|
57 | queue: BullQueue;
|
58 | };
|
59 | export declare type BullQueueEvent = "error" | "waiting" | "active" | "stalled" | "progress" | "completed" | "failed" | "paused" | "resumed" | "cleaned" | "drained" | "removed";
|