Skip to main content

All-in-one message broker for Django supporting Channels, Celery and process workers

Project description

Django Message Broker

Documentation Status

Django message broker ecosystem

Django Message Broker is a plugin written in Python for Django that provides an all-in-one message broker. It interfaces with Django Channels and Celery [1], and replaces the need for separate message brokers such as Redis and RabbitMQ.

The motivating use case for Django Message Broker is small site solutions where it is easier to deploy a single server containing all the required functionality rather than a multi-server solution. An example would be a small site running data science models, where executing the model is a long running process and needs to execute in the background so that it doesn’t degrade the responsiveness of the user interface.

Potential scenarios for Django Message Broker include:

  • Prototyping, Testing, Training
  • Data science projects where the model complexity exceeds the capabilities of packages such as Shiny, Dash and Streamlit.
  • Small systems with a low number of users.

The Django Message Broker is an installable component of the Django platform that provides an easy to install, all-in-one alternative for small scale solutions. It does not replace the need for high volume message brokers where message volume and redundancy are important.

Note

  1. The Celery interface is in development and not supported in this release.

Installation

Install latest stable version into your python environment using pip::

pip install django-message-broker

Once installed add django_message_broker to your INSTALLED_APPS in settings.py:

INSTALLED_APPS = (
    'django_message_broker',
    ...        
)

Django Message Broker should be installed as early as possible in the installed applications list and ideally before other applications such as Channels and Celery. The message broker forks a background process which should occur before other applications create new threads in the current process.

Configure Django Channels Layers

To configure the Django Message Broker as a Channels layer add the following to the CHANNEL_LAYERS setting in settings.py:

CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'django_message_broker.ChannelsServerLayer',
    },
}

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

django-message-broker-0.2.1.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_message_broker-0.2.1-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

Details for the file django-message-broker-0.2.1.tar.gz.

File metadata

  • Download URL: django-message-broker-0.2.1.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.10.60.1-microsoft-standard-WSL2

File hashes

Hashes for django-message-broker-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e35340b312a57ac1eed2959a1992a6d32cde1a6eedce6688e4a0de980f254e6e
MD5 753b634ae898ac4195eb2fb3c062b4b8
BLAKE2b-256 fb4188b449a794022256a27d57d8f3e805f664046a10bc10b7b7b5bf9a94243b

See more details on using hashes here.

File details

Details for the file django_message_broker-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: django_message_broker-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.10.60.1-microsoft-standard-WSL2

File hashes

Hashes for django_message_broker-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f58998c8255f4640d83ceb843b29aabc29e9ffd49ffa1c548161d9c6b20c60e7
MD5 ec8edb28db5a9debce1e343357468bfd
BLAKE2b-256 d9da65708804e1abcd0af620b52215046725bb00c2398f3c6b1998625a2c8d4f

See more details on using hashes here.

Supported by

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