Skip to main content

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.

screencast

Installation

pip install dramatiq_dashboard

Supporting the Project

If you use and love Dramatiq and want to make sure it gets the love and attention it deserves then you should consider supporting the project. There are three ways in which you can do this right now:

  1. If you're a company that uses Dramatiq in production then you can get a Tidelift subscription. Doing so will give you an easy route to supporting both Dramatiq and other open source projects that you depend on.
  2. If you're an individual or a company that doesn't want to go through Tidelift then you can support the project via Patreon.
  3. If you're a company and neither option works for you and you would like to receive an invoice from me directly then email me at bogdan@defn.io and let's talk.

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)
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

dramatiq_dashboard-0.2.2.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

dramatiq_dashboard-0.2.2-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file dramatiq_dashboard-0.2.2.tar.gz.

File metadata

  • Download URL: dramatiq_dashboard-0.2.2.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.0

File hashes

Hashes for dramatiq_dashboard-0.2.2.tar.gz
Algorithm Hash digest
SHA256 318badf1c4b67cad84eb0f946000fdb26aa88730c1a1df7f9b1594a6aa3eb696
MD5 2c6b80a308e75c67495b143ad6da26c9
BLAKE2b-256 155d5dc8303982699b78527899fa901c7003e26a11b9a4e2ba2123ca8544dfc5

See more details on using hashes here.

Provenance

File details

Details for the file dramatiq_dashboard-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: dramatiq_dashboard-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.0

File hashes

Hashes for dramatiq_dashboard-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe3460f0a314dc6575e1b25a52d66f71563347275995e5c5077acb6914d175f6
MD5 d9bae79f7dad128a4d802a764acfecdc
BLAKE2b-256 d9f689bbc958546f18ab3207db3b52fef235528a1f87cc680ceea9001868941a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page