Skip to content

ShaneK/Matador

Repository files navigation

Matador

A node-based web interface for the Bull Job Manager


Why?
We needed a job manager and we wanted to stick to one that only really relied on Node and Redis, so we looked and looked until we found Bull. Bull looked really nice, but we also wanted to be able to monitor the jobs without having to actually log into the AWS server to access the Redis database. Thus, Matador was born.

Why not just use Kue?
Kue has some really old, outstanding bugs that we encounted just while testing it. We tested Bull quite a bit, and couldn't reproduce these bugs. We thought it'd be easier to build an interface for Bull than to use Kue and deal with those bugs. (Notice that the first one, while closed, was never actually fixed...)

How do I get started?
Easy! If you're using Bull already, then all you need to do is clone this repo and run

npm install

You will need to modify the config/app.json file so that it has the right values for your host and port for your redis server, then to start the server all you need to do is run

npm start

Or, if you prefer,

node index.js

If you're not using Bull, and you think you want to use Matador for some reason, then you should go check out Bull over here. After that, if you decide you like it, come back and check out Matador!

What is it built on?
Matador requires Node (obviously) and is built with Kraken. Other NPM packages utilized include, but are probably not limited to:

On top of that, Matador also utilizes several open-source javascript/css libraries and tools, including but not limited to:

Screenshot

Overview

Q/A:

What is a stuck job?
A stuck job is a job that has no state. It's possible that jobs listed as stuck are just in between states, but if there's ever a job with no state for a long time, the overview page gives you a place where you can delete or revert such jobs back the pending queue. Because stuck jobs are any job without a state, and while jobs are processing they may become stateless, there is no way to mass-manage stuck jobs. This is because it would be really easy to accidentally modify jobs you didn't mean to if a job was being processed while you were mass managing "stuck jobs".

Wrap-up

Have an issue? Feel free to open an issue in the issues page. You can also send me a tweet and I'd be glad to respond!

If you wanna help, feel free to fork and make pull requests! The general layout and feel of Matador is pretty basic, and I tried to keep my code relatively clean (though, some of it is pretty awful looking right now...sorry about that).


License


The MIT License (MIT)

Copyright (c) 2014 Shane King

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Front-end web interface for Bull Job Manager

Resources

License

Stars

Watchers

Forks

Packages

No packages published