UNPKG

@cavai/adonis-queue

Version:
49 lines (48 loc) 1.32 kB
import type { Logger } from '@adonisjs/core/logger'; import type { QueueManagerFactory, QueueDriver, StoreOptions } from './types.js'; /** * Config for manager looks like this * * { * default: 'somename', * queues: { * somename: () => new DatabaseDrive({ * table_name: 'sjdasjk', * }) * } * } */ export declare class QueueManager<Mappings extends Record<string, QueueManagerFactory>> { #private; protected config: { default: keyof Mappings; queues: Mappings; }; protected logger: Logger; protected jobsRoot: string; constructor(config: { default: keyof Mappings; queues: Mappings; }, logger: Logger, jobsRoot: string); use<K extends keyof Mappings>(queue?: K): QueueDriver; /** * Starts up given queue jobs execution * * @param queue Queue name to start */ start<K extends keyof Mappings>(queue: K): Promise<void>; /** * Executes next job in queue */ execute(): Promise<void>; /** * Stores job to queue for future execution * * @param path Path to class file * @param payload Job payload * @param options Store options */ store(path: string, payload: any, options?: StoreOptions): Promise<{ id: number | string; }>; }