Adonis Kue Provider
A Kue provider for the Adonis framework.
This library provides an easy way to get started with an asynchronous job queue for AdonisJS.
Install
npm install --save adonis-kue
Configure
Register the kue provider in start/app.js
:
const providers = [
...
'adonis-kue/providers/KueProvider'
]
Register the commands provider in start/app.js
:
const aceProviders = [
...
'adonis-kue/providers/CommandsProvider'
]
Register the jobs in start/app.js
:
const jobs = [
...
'App/Jobs/Example'
]
Add a configuration file in config/kue.js
. For example:
'use strict'
const Env = use('Env')
module.exports = {
connection: Env.get('KUE_CONNECTION', 'kue')
}
Usage
Starting the listener
Starting an instance of the kue listener is easy with the included ace command. Simply run ./ace kue:listen
.
Creating your first job
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. |
Here's an example.
Dispatching jobs
Now that your job listener is running and ready to do some asynchronous work, you can start dispatching jobs.
const kue = use('Kue')
const Job = use('App/Jobs/Example')
const data = { test: 'data' }
const priority = 'normal'
const attempts = 1
const remove = true
const job = kue.dispatch(Job.key, data, priority, attempts, remove)
const result = await job.result
Thanks
Special thanks to the creator(s) of AdonisJS for creating such a great framework.