1.4.1 • Published 7 years ago

@gorangajic/bull-arena v1.4.1

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

Arena

An intuitive Web GUI for Bull. Built on Express so you can run Arena standalone, or mounted in another app as middleware.

For a quick introduction to the motivations for creating Arena, read Interactively monitoring Bull, a Redis-backed job queue for Node.

Screenshots

npm.io npm.io npm.io

Features

  • Check the health of a queue and its jobs at a glance
  • Paginate and filter jobs by their state
  • View details and stacktraces of jobs with permalinks
  • Restart and retry jobs with one click

Usage

Prerequisites

Configure your queues in the "queues" key of index.json. Queues take the following format:

{
  "name": "my_queue",
  "port": 6381,
  "host": "127.0.0.1",
  "hostId": "AWS Server 2"
}

The name, port, host, and hostId fields are required. hostId can be given any name, so it is recommended to give it a helpful name for reference. Optionally, you can also pass in db and password to configure redis credentials.

To specify a custom file location, see "Running Arena as a node module".

Running the server

Run npm install to fetch Arena's dependencies. Then run npm start to start the server.

Note that because Arena is dependent on async/await, Arena only currently supports Node >7.

Running Arena as a node module

Alternatively, you can use Arena as a node module. This has potential benefits:

  • Arena can be configured to use any method of server/queue configuration desired
    • for example, fetching available redis queues from an AWS instance on server start
    • or even just plain old reading from environment variables
  • Arena can be mounted in other express apps as middleware

Usage:

In project folder:

> npm install --save-dev bull-arena

In router.js:

const express = require('express');
const router = express.Router();

const arena = require('bull-arena')({queues});
router.use('/', arena);

Development

Arena is written using Express, with simple jQuery and Handlebars on the front end.

If updating dependencies, please use Yarn and update the yarn.lock file before submitting a pull request.

License

The MIT License.