Adonis Queue Provider
A job queuing provider that leverages Bull for the AdonisJS framework.
This library provides an easy way to get started with an asynchronous job queue for AdonisJS.
npm install --save adonis-bull
Register it in
const providers =...'adonis-queue/providers/QueueProvider'
Also consider adding an alias to the provider.
const aliases =...Queue: 'Adonis/Addons/Queue'
Register the commands:
const aceProviders =...'adonis-queue/providers/CommandsProvider';...const commands =...'Adonis/Commands/Queue:Listen';
Add a configuration file in
config/queue.js. For example:
'use strict';const Env = ;moduleexports =redis:connectionString: 'redis://localhost:6379';
Starting the listener
Starting an instance of the queue listener is easy with the included ace command. Simply run
The provider looks for jobs in the
app/Jobs directory of your AdonisJS project and will automatically register a handler for any jobs that it finds.
Creating your first job
Jobs are easy to create. They live in
app/Jobs and they are a simple class. They expose the following properties:
|concurrency||false||number||true||The number of concurrent jobs the handler will accept|
|key||true||string||true||A unique key for this job|
|handle||true||function||false||A function that is called for this job.|
Now that your job listener is running and ready to do some asynchronous work, you can start dispatching jobs.
const queue = ;const Job = ;const data = test: 'data' ;queue;
Special thanks to the creator(s) of AdonisJS for creating such a great framework.