Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

adonis-queue

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

adonis-queue

Bull provider for the Adonis framework

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

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.

Install

npm install --save adonis-bull

Configure

Register it in bootstrap/app.js:

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 = use('Env');

module.exports = {
  redis: {
    connectionString: 'redis://localhost:6379'
  }
};

Usage

Starting the listener

Starting an instance of the queue listener is easy with the included ace command. Simply run ./ace queue:listen.

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:

NameRequiredTypeStaticDescription
concurrencyfalsenumbertrueThe number of concurrent jobs the handler will accept
keytruestringtrueA unique key for this job
handletruefunctionfalseA 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 queue = use('Queue');
const Job = require('./app/Jobs/Example');
const data = { test: 'data' };
queue.dispatch(Job.key, data);

Thanks

Special thanks to the creator(s) of AdonisJS for creating such a great framework.

Keywords

FAQs

Package last updated on 10 Sep 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc