mbq.pubsub
Installation
$ pip install mbq.pubsub
🚀✨
Guaranteed fresh.
Configuration
# settings.py
SERVICE_NAME = "my-service"
PUBSUB = {
"ENV": mbq.get_environment("ENV_NAME"),
"SERVICE": SERVICE_NAME,
"QUEUES": [
"foo-updates",
"bar-updates",
],
"MESSAGE_HANDLERS": {
"foo.updated": "path.to.handlers.handle_foo_updated",
"bar.updated": "path.to.handlers.handle_bar_updated",
},
}
INSTALLED_APPS = {
...
'mbq.pubsub',
...
}
# convox.yml
services:
foo-consumer:
image: {{DOCKER_IMAGE_NAME}}
command: newrelic-admin run-python -m manage pubsub consume --queue foo-updates
init: true
environment:
- "*"
bar-consumer:
image: {{DOCKER_IMAGE_NAME}}
command: newrelic-admin run-python -m manage pubsub consume --queue bar-updates
init: true
environment:
- "*"
Using PubSub Without a Database
If your service does not have a database - fear not. The Infra team hath taken pity on you and your brethren.
Simply add the setting "USE_DATABASE": False to your PUBSUB config.
Things to keep in mind:
- There will be no Django admin for viewing/deleting/replaying DLQ messages.
- To replay the DLQ use the management command
./manage.py pubsub replay --queue <queue_name> <number_of_messages>.
Local Development
Add 127.0.0.1 pubsub.lcl.mbq.io to your /etc/hosts.
Find the env/pubsub/lcl.env Secure Note in 1Password and copy it to env/lcl.env.
$ pbpaste > env/lcl.env
Run migrations and bring up admin the server:
$ docker-compose run tests-admin python -m manage migrate
$ docker-compose up tests-admin
To use the Django admin, you'll need a superuser:
$ docker-compose run tests-admin python -m manage createsuperuser
To end-to-end test mbq.pubsub, you can publish a test message from SNS with:
$ docker-compose run tests-admin python -m manage publish_exception
Then bring up the consumer:
$ docker-compose up pubsub-pubsub-consume-updates
The test message will eventually land on the DLQ, which you can inspect & replay from http://pubsub.lcl.mbq.io:8080/admin/pubsub/undeliverablemessage
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file mbq.pubsub-2.6.2.tar.gz.
File metadata
- Download URL: mbq.pubsub-2.6.2.tar.gz
- Upload date:
- Size: 18.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.6.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f438d6ef0215bf68daa6456532838eabb0f716fab4a241038590b790170d266
|
|
| MD5 |
c7b0b0705db820975a77e179bea2bfb8
|
|
| BLAKE2b-256 |
889e71a260ab252813be49a71f2fc3df1eb1e247c7bdd438048346c886bef2be
|