adonisjs-jobs
Version:
Job processing for AdonisJS
18 lines (17 loc) • 872 B
TypeScript
import { Job as BullmqJob, JobsOptions } from 'bullmq';
import type { ApplicationService, LoggerService } from '@adonisjs/core/types';
type JobHandle<T> = T extends (payload: infer P) => any ? (undefined extends P ? any : P) : any;
export declare abstract class Job {
job: BullmqJob;
logger: LoggerService;
payload: JobHandle<this['handle']>;
static app: ApplicationService;
static dispatch<T extends Job>(this: new (...args: any[]) => T, payload: JobHandle<T['handle']>, options?: JobsOptions & {
queueName?: string;
}): Promise<void>;
static dispatchSync<T extends Job>(this: new (...args: any[]) => T, payload: JobHandle<T['handle']>): Promise<void>;
abstract handle(payload: any): Promise<any> | any;
failed?(error: Error): Promise<void> | void;
completed?(payload: any, result: any): Promise<void> | void;
}
export {};