UNPKG

@cavai/adonis-queue

Version:
35 lines (34 loc) 1.07 kB
import type { Database } from '@adonisjs/lucid/database'; import type { DatabaseDriverConfig, JobRecord, QueueDriver, StoreOptions } from '../types.js'; export default class DatabaseDriver implements QueueDriver { #private; protected config: DatabaseDriverConfig; pollingDelay: number; constructor(config: DatabaseDriverConfig, database: Database); /** * Store job to database */ store(path: string, payload: any, options?: StoreOptions): Promise<{ id: any; }>; /** * Get next job from database */ getNext(): Promise<JobRecord | null>; /** * Get job from database by its ID */ getJob(id: number | string): Promise<JobRecord | null>; /** * Re-schedule job (update attempts and available_at) in Database */ reSchedule(job: JobRecord, retryAfter: number): Promise<void>; /** * Mark job as failed in database */ markFailed(job: JobRecord): Promise<void>; /** * Remove job from database */ remove(id: number | string): Promise<void>; }