All Projects → Bogdanp → Dramatiq_dashboard

Bogdanp / Dramatiq_dashboard

Licence: lgpl-3.0
A dashboard for dramatiq, specific to its Redis broker.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Dramatiq dashboard

Celery
Distributed Task Queue (development branch)
Stars: ✭ 18,378 (+22312.2%)
Mutual labels:  task-manager, task-scheduler, redis, task-runner
Dramatiq
A fast and reliable background task processing library for Python 3.
Stars: ✭ 2,844 (+3368.29%)
Mutual labels:  task-manager, task-scheduler, redis, task-runner
Rqueue
Rqueue aka Redis Queue [Task Queue, Message Broker] for Spring framework
Stars: ✭ 76 (-7.32%)
Mutual labels:  task-manager, task-scheduler, redis
reflow
A light-weight lock-free series/parallel combined scheduling framework for tasks. The goal is to maximize parallelism in order to minimize the execution time overall.
Stars: ✭ 23 (-71.95%)
Mutual labels:  task-runner, task-manager, task-scheduler
bikeshed
Lock free hierarchical work scheduler
Stars: ✭ 78 (-4.88%)
Mutual labels:  task-runner, task-manager, task-scheduler
Cron Manager
A PHP cron task manager for MVC-type applications
Stars: ✭ 396 (+382.93%)
Mutual labels:  task-manager, task-scheduler, task-runner
gronx
Lightweight, fast and dependency-free Cron expression parser (due checker), task scheduler and/or daemon for Golang (tested on v1.13 and above) and standalone usage
Stars: ✭ 206 (+151.22%)
Mutual labels:  task-manager, task-scheduler
scheduler
Task Scheduler for Laravel applications. UI from scratch
Stars: ✭ 18 (-78.05%)
Mutual labels:  task-manager, task-scheduler
routinger
Routinger is a task scheduler app that is made to make you a better person at no extra cost. The code is open-source. Dart language and Flutter framework are used extensively.
Stars: ✭ 14 (-82.93%)
Mutual labels:  task-manager, task-scheduler
Phulp
The task manager for php
Stars: ✭ 294 (+258.54%)
Mutual labels:  task-manager, task-runner
celery.node
Celery task queue client/worker for nodejs
Stars: ✭ 164 (+100%)
Mutual labels:  task-runner, task-manager
Pytask Io
Python Async Task Queue
Stars: ✭ 81 (-1.22%)
Mutual labels:  task-manager, redis
TaskManager
A C++14 Task Manager / Scheduler
Stars: ✭ 81 (-1.22%)
Mutual labels:  task-manager, task-scheduler
Ten Hands
⚡ Simplest way to organize and run command-line tasks
Stars: ✭ 228 (+178.05%)
Mutual labels:  task-manager, task-runner
Machinery
Machinery is an asynchronous task queue/job queue based on distributed message passing.
Stars: ✭ 5,821 (+6998.78%)
Mutual labels:  task-scheduler, redis
Openmangosteen
Devops定时调用http接口,定时执行SSH命令的WEB定时任务工具。
Stars: ✭ 41 (-50%)
Mutual labels:  task-manager, task-scheduler
Mmake
Mmake is a small program which wraps make to provide additional functionality, such as user-friendly help output, remote includes, and eventually more. It otherwise acts as a pass-through to standard make.
Stars: ✭ 1,593 (+1842.68%)
Mutual labels:  task-manager, task-runner
Pypyr
pypyr task-runner cli & api for automation pipelines. Automate anything by combining commands, different scripts in different languages & applications into one pipeline process.
Stars: ✭ 173 (+110.98%)
Mutual labels:  task-manager, task-runner
Rq Scheduler
A lightweight library that adds job scheduling capabilities to RQ (Redis Queue)
Stars: ✭ 1,095 (+1235.37%)
Mutual labels:  task-scheduler, redis
Marl
A hybrid thread / fiber task scheduler written in C++ 11
Stars: ✭ 1,078 (+1214.63%)
Mutual labels:  task-scheduler, task-runner

dramatiq_dashboard

A dashboard for dramatiq, specific to its Redis broker (sorry RabbitMQ users!). Very alpha stuff.

It comes in the form of a WSGI middleware, with as few dependencies as possible (dramatiq, jinja2 and redis) so it's super easy to plug into whatever web application you have.

screencast

Installation

pip install dramatiq_dashboard

Quickstart

Run the dashboard on top of an existing WSGI app

# Assuming at some point you instantiate your app.
app = create_wsgi_application()

# Import the library, create the middleware and wrap your app with it.
import dramatiq_dashboard

dashboard_middleware = dramatiq_dashboard.make_wsgi_middleware("/drama")
app = dashboard_middleware(app)

Run your app, visit /drama and you should see the dashboard.

Run the dashboard as a standalone webserver

If you don't want to wrap an existing WSGI app, you can also run the dashboard as a standalone server. Install the WSGI server of your choice (e.g. uWSGi, gunicorn, bjoern, etc), setup the Redis broker, and then start DashboardApp directly.

For example, to serve the dashboard on http://127.0.0.1:8080 using the bjoern WSGI server and a redis server on 17.0.0.1:6379, run the following:

import bjoern
import dramatiq
from dramatiq.brokers.redis import RedisBroker
from dramatiq_dashboard import DashboardApp

broker = RedisBroker(host="127.0.0.1", port=6379)
broker.declare_queue("default")
dramatiq.set_broker(broker)
app = DashboardApp(broker=broker, prefix="")
bjoern.run(app, "127.0.0.1", 8080)

Then visit http://127.0.0.1:8080/ to see the running dashboard.

Note that if you use custom queues in your application, they won't be discovered using this approach. You'll have to either add each one of them manually to your broker or import and pass your application's broker to DashboardApp.

License

dramatiq_dashboard is licensed under the LGPL. Please see COPYING and COPYING.LESSER for licensing details.

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].