0.1.6 • Published 4 years ago
monitoro v0.1.6
Monitoro
Dashboard for monitoring Bull queues , built using Express and React. Can be mounted as middleware in an existing express app. Current features:
- View job details like job id, progress, timestamps, job data, result, errors.
- Filter jobs based on state: active, completed, failed, waiting, delayed
- Key-Value based search on job data for finding specific jobs.
- Simple stats to highlight queue performance/health.
- Does not interfere with your existing way of working with bull. This dashboard can be deployed as a self contained middleware in your existing express server or on a separate server entirely.
Currently only supports monitoring tasks. Adding/deleting/retrying jobs is not possible from this dashboard in the current version.
Planned features:
- Search based on job results
- Pagination+lazy-load to handle large number of jobs
Delete/Retry job from the UI
Usage
- Install the module
npm install monitoro
- Import it in your express app
const monitoro = require('monitoro')
- Add your queue config array to
app.locals.MonitoroQueues
where queueConfigArray is an array of queue config objects of typeapp.locals.MonitoroQueues = queueConfigArray
For an example queueConfigArray check{ "name": "<name of the bull queue>", "url": "<url to the redis instance>" }
server/devServer.js
- Use the module as middleware for the route at which you want the dashboard to be available. For example, if I want to make the dashboard available at
/foo
in my Express app,
subdirectories can also be used:app.use('/foo',monitoro)
app.use('/foo/bar',monitoro)
Check
server/devServer.js
for a simple example of usage
Development
To run it locally for development:
- clone the repo
- run
npm run dev:fe
to start the react dev server for the frontend - run
npm run dev:server
to start the express dev server - Open
http://localhost:3000
in your browser