1.1.4 • Published 4 years ago
agenda-admin v1.1.4
Agenda Admin

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 servedmountPath- the path which the middleware should be mounted (passed toapp.use())expressApp- the express appagenda- an agenda instanceoptions- an optional argument, the object can have the following properties:itemsPerPageusernamepassword
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:latestDocker environment configuration
| name | description | required | default value |
|---|---|---|---|
| CONNECTION_STRING | MongoDB connection string | yes | |
| COLLECTION | MongoDB collection of jobs | no | agendaJobs |
| ITEMS_PER_PAGE | Number of jobs per page | no | 20 |
| AGENDA_USERNAME | Username used for authentication (only when a password is provided) | no | admin |
| AGENDA_PASSWORD | If no password is provided, no authentication will be required | no |
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.