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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| mbq.pubsub-2.6.2.tar.gz | 18.2 kB | Without provenance | Details for mbq.pubsub-2.6.2.tar.gz |
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
|
Security for mbq.pubsub 2.6.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.