A Dashboard for Agenda
- Job status auto-refreshes (2-second polling by default)
- Schedule a new job from the UI
- Dive in to see more details about the job, like the json data
- Requeue a job (clone the data and run immediately)
- Delete jobs (Useful for cleaning up old completed jobs)
npm install --save agendash
Agendash comes with a standalone Express app which you can use like this:
./node_modules/.bin/agendash --db=mongodb://localhost/agendaDb --collection=agendaCollection --port=3001
or like this, for default collection agendaJobs
and default port 3000
:
./node_modules/.bin/agendash --db=mongodb://localhost/agendaDb
Agendash provides Express middleware you can use at a specified path, for example this will
var express = require('express');
var app = express();
// ... your other express middleware like body-parser
var Agenda = require('agenda');
var Agendash = require('agendash');
var agenda = new Agenda({mongo: 'mongodb://127.0.0.1/agendaDb'});
app.use('/agendash', Agendash(agenda));
// ... your other routes
// ... start your server
Other middlewares will come soon in the folder /lib/middlewares/
.
You'll just have to update the last line to require the middleware you need:
app.use('/agendash', Agendash(agenda, {
middleware: 'koa'
}));
The second argument to Agendash is an optional object. Valid keys are:
middleware
: Currently only'express'
is supported. I'd like to use'koa'
soon.title
: Defaults to"Agendash"
. Useful if you are running multiple Agenda pools.
There are several things I would like help with:
- I'm rusty with Backbone. Clean up the client code. I wasn't sure on the best way to trigger and handle update events.
- Write some tests!
- Use Agendash and submit issues!