node-resque
Version:
an opinionated implementation of resque in node
43 lines (42 loc) • 1.98 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from "events";
import { Worker } from "./worker";
import { MultiWorkerOptions } from "../types/options";
import { Jobs } from "../types/jobs";
import { Job, JobEmit } from "../types/job";
export declare interface MultiWorker {
options: MultiWorkerOptions;
jobs: Jobs;
workers: Array<Worker>;
name: string;
running: boolean;
working: boolean;
eventLoopBlocked: boolean;
eventLoopDelay: number;
eventLoopCheckCounter: number;
stopInProcess: boolean;
checkTimer: NodeJS.Timeout;
on(event: "start" | "end", cb: (workerId: number) => void): this;
on(event: "cleaning_worker", cb: (workerId: number, worker: Worker, pid: number) => void): this;
on(event: "poll", cb: (workerId: number, queue: string) => void): this;
on(event: "ping", cb: (workerId: number, time: number) => void): this;
on(event: "job", cb: (workerId: number, queue: string, job: Job<any> | JobEmit) => void): this;
on(event: "reEnqueue", cb: (workerId: number, queue: string, job: Job<any> | JobEmit, plugin: string) => void): this;
on(event: "success", cb: (workerId: number, queue: string, job: Job<any> | JobEmit, result: any, duration: number) => void): this;
on(event: "failure", cb: (workerId: number, queue: string, job: Job<any> | JobEmit, failure: any, duration: number) => void): this;
on(event: "error", cb: (workerId: number, queue: string, job: Job<any> | JobEmit, error: any) => void): this;
on(event: "pause", cb: (workerId: number) => void): this;
on(event: "multiWorkerAction", cb: (verb: string, delay: number) => void): this;
}
export declare class MultiWorker extends EventEmitter {
constructor(options: any, jobs: any);
private PollEventLoopDelay;
private startWorker;
private checkWorkers;
private cleanupWorker;
private checkWrapper;
start(): void;
stop(): Promise<void>;
end(): Promise<void>;
private stopWait;
}