UNPKG

@cavai/adonis-queue

Version:
28 lines (27 loc) 1.04 kB
/// <reference types="@adonisjs/lucid/database_provider" /> import { BaseJob } from '../src/base_job.js'; import { QueueManager } from '../src/queue_manager.js'; import DatabaseDriver from '../src/drivers/database.js'; import DriversCollection from '../src/drivers_collection.js'; export default class QueueProvider { app; constructor(app) { this.app = app; } register() { this.app.container.singleton('cavai.queue', async (resolver) => { const config = this.app.config.get('queue'); const logger = await resolver.make('logger'); const queueManager = new QueueManager(config, logger, this.app.makePath()); return queueManager; }); } async boot() { const db = await this.app.container.make('lucid.db'); const queue = await this.app.container.make('cavai.queue'); DriversCollection.extend('database', (config) => { return new DatabaseDriver(config, db); }); BaseJob.useQueue(queue); } }