MBQ PubSub
Project description
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
Project details
Release history Release notifications | RSS feed
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-1.2.0.tar.gz
.
File metadata
- Download URL: mbq.pubsub-1.2.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c71a1f3a4de6a035e0ec44bb8c02adb49245868c22af62acdf5f053785dea19a |
|
MD5 | 26b3136fcbef790fbbfad15a18ac0e9c |
|
BLAKE2b-256 | 1c9921b64dfe6ae0c59e7424108fad91b34f813838daf714105d1ebf278f392a |