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
Release files for mbq.pubsub 2.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mbq.pubsub-2.6.2.tar.gz | 18.2 kB | Details |
Release files / mbq.pubsub-2.6.2.tar.gz
| Download URL | mbq.pubsub-2.6.2.tar.gz |
|---|---|
| Size | 18.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f438d6ef0215bf68daa6456532838eabb0f716fab4a241038590b790170d266
|
|
BLAKE2b-256 checksum How to use checksums |
889e71a260ab252813be49a71f2fc3df1eb1e247c7bdd438048346c886bef2be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|