1.1.4 • Published 2 years ago

agenda-admin v1.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Agenda Admin

logo

A Dashboard for Agenda


Features

  • Jobs status, refresh interval is 15 seconds by default
  • Search jobs by name, including autocomplete
  • Filter jobs by metadata and status
  • View job details
  • Delete and requeue jobs
  • Schedule a new job

Prerequisites

Required version of MongoDB: >2.6.0


Middleware usage

Agenda Admin can be used as express middleware, using the mountAgendaAdmin function. As an argument, it takes an object with the following fields:

  • publicUrl - the URL at which the frontend is served
  • mountPath - the path which the middleware should be mounted (passed to app.use())
  • expressApp - the express app
  • agenda - an agenda instance
  • options - an optional argument, the object can have the following properties:
    • itemsPerPage
    • username
    • password

Example:

const express = require('express');
const Agenda = require('agenda');
const { mountAgendaAdmin } = require('agenda-admin');

const app = express();

// Other express middleware

const agenda = new Agenda({ db: { address: 'mongodb://127.0.0.1/agendaDb' } });

mountAgendaAdmin({
  publicUrl: 'http://localhost:7878/agenda-admin',
  mountPath: '/',
  expressApp: app,
  agenda
});

app.listen(7878);

Docker usage

The docker container exposes port 7878

At this point, AgendaAdmin does not support port re-mapping, so the container should be connected to port 7878 only

docker run -p 7878:7878 \
--env CONNECTION_STRING=mongo://username:password@host/database \
--env COLLECTION=collection lexissolutions/agenda-admin:latest

Docker environment configuration

namedescriptionrequireddefault value
CONNECTION_STRINGMongoDB connection stringyes
COLLECTIONMongoDB collection of jobsnoagendaJobs
ITEMS_PER_PAGENumber of jobs per pageno20
AGENDA_USERNAMEUsername used for authentication (only when a password is provided)noadmin
AGENDA_PASSWORDIf no password is provided, no authentication will be requiredno

Contributing

Install dependencies

yarn install

Running

Inside the api directory create an .env.development file with CONNECTION_STRING and COLLECTION variables, then run yarn dev. \ You can also run yarn start in the api and client directories.

Running tests

Inside the api directory create an .env.testing file with CONNECTION_STRING and COLLECTION variables, then run yarn test.

Commit messages

Agenda Admin uses conventional commits format.