A dashboard for Dramatiq (Redis-only!).
Project description
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.
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dramatiq_dashboard-0.4.0.tar.gz.
File metadata
- Download URL: dramatiq_dashboard-0.4.0.tar.gz
- Upload date:
- Size: 28.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e121e346cfce7fe15316952f035360cd8d4c3265d859576be8d4a3142b90f43a
|
|
| MD5 |
4d57614e8bc70c3e945bbed1218231ff
|
|
| BLAKE2b-256 |
3e236735768b891416cfc1ccacb800f445640755819d68fad0f5a3b89403b187
|
File details
Details for the file dramatiq_dashboard-0.4.0-py3-none-any.whl.
File metadata
- Download URL: dramatiq_dashboard-0.4.0-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb334f32f971a058d5ee9a0673497241547f31779f79343bb71ed8499b1af2f6
|
|
| MD5 |
24b4ac0d71d81a5466d1db23fa1b3e79
|
|
| BLAKE2b-256 |
cc18e62e164025cba5e150348c976d472f9b9d6a68a1dfaeec8fffc216bbd448
|