All Projects → hans-lizihan → Bull Master

hans-lizihan / Bull Master

Licence: mit
Nice UI for bull and bullmq

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Bull Master

gohive
🐝 A Highly Performant and easy to use goroutine pool for Go
Stars: ✭ 41 (-55.43%)
Mutual labels:  task-queue
Yotaq
yotaq - Your Own Task Queue for Python
Stars: ✭ 339 (+268.48%)
Mutual labels:  task-queue
Falcon Celery
Example of how to handle background processes with Falcon, Celery, and Docker
Stars: ✭ 29 (-68.48%)
Mutual labels:  task-queue
psched
Priority-based Task Scheduling for Modern C++
Stars: ✭ 59 (-35.87%)
Mutual labels:  task-queue
procrastinate
PostgreSQL-based Task Queue for Python
Stars: ✭ 322 (+250%)
Mutual labels:  task-queue
Lmstfy
Implements task queue in Golang which based on Redis storage
Stars: ✭ 373 (+305.43%)
Mutual labels:  task-queue
orkid-node
Reliable and modern Redis Streams based task queue for Node.js 🤖
Stars: ✭ 61 (-33.7%)
Mutual labels:  task-queue
Pytask Io
Python Async Task Queue
Stars: ✭ 81 (-11.96%)
Mutual labels:  task-queue
Dingo
An easy-to-use, distributed, extensible task/job queue framework for #golang
Stars: ✭ 289 (+214.13%)
Mutual labels:  task-queue
Asynq
Asynq: simple, reliable, and efficient distributed task queue in Go
Stars: ✭ 934 (+915.22%)
Mutual labels:  task-queue
simple-task-queue
asynchronous task queues using python's multiprocessing library
Stars: ✭ 39 (-57.61%)
Mutual labels:  task-queue
concurrent-tasks
A simple task runner which will run all tasks till completion, while maintaining concurrency limits.
Stars: ✭ 27 (-70.65%)
Mutual labels:  task-queue
Flower
Real-time monitor and web admin for Celery distributed task queue
Stars: ✭ 5,036 (+5373.91%)
Mutual labels:  task-queue
distex
Distributed process pool for Python
Stars: ✭ 101 (+9.78%)
Mutual labels:  task-queue
Rq
Simple job queues for Python
Stars: ✭ 8,065 (+8666.3%)
Mutual labels:  task-queue
rqmonitor
Flask based more dynamic and actionable frontend dashboard for monitoring Redis Queue 👩🏿‍💻 http://python-rq.org
Stars: ✭ 152 (+65.22%)
Mutual labels:  task-queue
Huey
a little task queue for python
Stars: ✭ 3,761 (+3988.04%)
Mutual labels:  task-queue
Cadence Java Client
Java framework for Cadence Workflow Service
Stars: ✭ 85 (-7.61%)
Mutual labels:  task-queue
Django Carrot
A lightweight task queue for Django using RabbitMQ
Stars: ✭ 58 (-36.96%)
Mutual labels:  task-queue
Taskq
Golang asynchronous task/job queue with Redis, SQS, IronMQ, and in-memory backends
Stars: ✭ 555 (+503.26%)
Mutual labels:  task-queue

bull master NPM Version NPM Downloads PRs Welcome code style: prettier build

Screen Shot bull-master

Bull Dashboard is a UI built on top of Bull to help you visualize your queues and their jobs. With this library you get a beautiful UI for visualizing what's happening with each job in your queues, their status and some actions that will enable you to get the jobs done.

Notes

As this library provides only the visualization for your queues, keep in mind that:

  • You must have Bull installed in your projects;
  • Aside the options to retry and clean jobs, this library is not responsible for processing the jobs, reporting progress or any other thing. This must be done in your application with your own logic;
  • If you want to understand the possibilities you have with the queues please refer to Bull's docs;
  • This library doesn't hijack Bull's way of working.

If you want to learn more about queues and Redis: https://redis.io/.

Starting

To add it to your project start by adding the library to your dependencies list:

yarn add bull-master

Or

npm i bull-master

Hello World

The first step is to let bull-board know the queues you have already set up, to do so we use the queues option.

// for express
const express = require('express')
const Queue = require('bull')
const bullMaster = require('bull-master')
const app = express()

const someQueue = new Queue()
const someOtherQueue = new Queue()

const bullMasterApp = bullMaster({
  queues: [someQueue, someOtherQueue],
})
// you can get existing queues
bullMasterApp.getQueues()
// you could also choose to change the queues to display in run time
bullMasterApp.setQueues([someQueue])

app.use('/admin/queues', bullMasterApp)

// for koa
const Koa = require('koa')
const Router = require('@koa/router')
const Queue = require('bull')
const bullMaster = require('bull-master')
const app = new Koa()

const someQueue = new Queue()
const someOtherQueue = new Queue()

router.all('/admin/queues*', bullMaster.koa({
  queues: [someQueue, someOtherQueue],
  prefix: '/admin/queues',
}))

app
  .use(router.routes())
  .use(router.allowedMethods())
// other configurations for your server

That's it! Now you can access the /admin/queues route and you will be able to monitor everything that is happening in your queues 😁

Contributing

First of all, thank you for being interested in helping out, your time is always appreciated in every way. 💯

Remember to read the Code of Conduct so you also help maintaining a good Open source community around this project!

Here's some tips:

  • Check the issues page for already opened issues (or maybe even closed ones) that might already address your question/bug/feature request.
  • When opening a bug report provide as much information as you can, some things might be useful for helping debugging and understading the problem
    • Node, Redis, Bull, bull-board versions
    • Sample code that reproduces the problem
    • Some of your environment details
    • Framework you're using (Express, Koa, Hapi, etc).
  • Feature requests are welcomed! Provide some details on why it would be helpful for you and others, explain how you're using bull-board and if possible even some screenshots if you are willing to mock something!

Developing

If you want to help us solving the issues, be it a bug, a feature or a question, you might need to fork and clone this project.

To fork a project means you're going to have your own version of it under your own GitHub profile, you do it by clicking the "Fork" button on the top of any project's page on GitHub.

Cloning a project means downloading it to your local machine, you do it in the command line:

git clone [email protected]:YOUR_GITHUB_USERNAME/bull-master.git

That will create a bull-master folder inside the directory you executed the command, so you need to navigate inside it:

cd bull-master

This project requires that you have yarn installed

Also make sure you are running Redis for this project (bull-master's example connects to Redis' default port 6379).

Now, to try it out locally you can run:

yarn --pure-lockfile 
yarn dev:client 
yarn dev:server

Acknowledgements ❤️

  • Juan for building the first version of this library
  • Vitor this project is basically a radical rewrite from Vitor's bull-board project

License

This project is licensed under the MIT License, so it means it's completely free to use and copy, but if you do fork this project with nice additions that we could have here, remember to send a PR 👍

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].