import { ResqueFailure } from "./types.js"; import { Plugin } from "node-resque"; export default class BaseJob { interval?: string | number; cron?: string; plugins: [typeof Plugin, any][]; delayMs: number; runAtMs?: number; /** * the default JobName is this class name * it **MUST be a unique name** */ jobName?: string; /** * set a queueName for this job * default configured in `config/resque.ts` */ queueName?: string; args: any[]; allArgs: any[][]; hasEnqueued: boolean; hasEnqueuedAll: boolean; app: import("@adonisjs/core/types").ApplicationService; constructor(..._args: any[]); queue(queueName: string): this; static enqueueAll(this: T, args: Parameters[]): Promise; enqueueAll(this: T, args: Parameters[]): Promise; perform(..._args: any[]): any; handleError(error: unknown): void; onFailure(_failure: ResqueFailure): void | Promise; private execute; private push; static enqueue(this: T, ...args: Parameters['perform']>): Promise; enqueue(this: T, ...args: Parameters): Promise; /** * * @param this * @param delayMs In ms, the number of ms to delay before this job is able to start being worked on * @param args * @returns */ static enqueueIn(this: T, delayMs: number, ...args: Parameters['perform']>): Promise; enqueueIn(this: T, delayMs: number, ...args: Parameters): Promise; static enqueueAt(this: T, runAtMs: number, ...args: Parameters['perform']>): Promise; enqueueAt(this: T, runAtMs: number, ...args: Parameters): Promise; }