Skip to content
This repository has been archived by the owner on Mar 25, 2024. It is now read-only.

Latest commit

 

History

History
90 lines (57 loc) · 2.08 KB

README.md

File metadata and controls

90 lines (57 loc) · 2.08 KB

Agendash

A Dashboard for Agenda


Features

  • 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)

Screenshots

Auto-refresh list of jobs


See job details, requeue or delete jobs


Install

npm install --save agendash

Standalone usage

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

Middleware usage

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'
}));

Additional options

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.

Help appreciated

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!