reiso
Version:
35 lines (34 loc) • 1.09 kB
TypeScript
import * as QueueRaw from 'bull';
export declare let scope: {
[name: string]: {
[name: string]: Handler;
};
};
export declare function Queue(name: string, scope?: string): QueueRaw.Queue<any>;
export declare function getQueues(): any[];
export declare function clearModel(): void;
export declare function getQueuesArena(): any[];
export interface Handler {
description?: string;
process(job: any): Promise<any>;
count?: number;
job?: any;
}
export interface HandlerOption {
name: string;
scope?: string;
description?: string;
count?: number;
}
export declare function RegisterHandler(opt: HandlerOption, func: (job: QueueRaw.Job) => (Promise<any> | any)): void;
export declare class HandlerManager {
private jobs;
private name;
constructor(name?: string);
getHandler(name: string): Handler;
runHandler<T>(j: Handler, job: QueueRaw.Job): Promise<T>;
hireHandler(j: Handler, name: string): void;
init(callback?: (manager: HandlerManager) => void): void;
cleanAll(): Promise<void>;
destroy(): Promise<void>;
}