peanar
Version:
A job queue for Node.js based on RabbitMQ
34 lines (33 loc) • 1.05 kB
TypeScript
import { EventEmitter } from "events";
import PeanarApp, { IPeanarRequest, IPeanarJobDefinition } from "./app";
import { Channel } from 'amqplib';
export default class PeanarJob extends EventEmitter {
id: string;
name: string;
args: any[];
handler: (...args: any[]) => Promise<any>;
deliveryTag?: bigint;
correlationId?: string;
channel: Channel;
app: PeanarApp;
def: IPeanarJobDefinition;
attempt: number;
max_retries: number;
cancelled: boolean;
constructor(req: IPeanarRequest, def: IPeanarJobDefinition, app: PeanarApp, channel: Channel);
cancel(reason?: Error): void;
ack(): void;
canRetry(): boolean;
reject(ex?: Error & {
retry?: boolean;
}): Promise<void>;
enqueue(): Promise<string>;
protected get retry_name(): string;
protected get requeue_name(): string;
protected _declareRetryQueues(): Promise<void>;
retry(): Promise<string>;
pauseQueue(): void;
resumeQueue(): void;
_perform(): Promise<any>;
perform(): Promise<unknown>;
}