@cavai/adonis-queue
Version:
Basic AdonisJS queue provider
35 lines (34 loc) • 1.07 kB
TypeScript
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>;
}