MBQ Atomiq
Project description
Installation
$ pip install mbq.atomiq
Getting started
Add mbq.atomiq to INSTALLED_APPS in your django application’s settings
Add ATOMIQ specific settings to that same settings file. Those are used for metrics.
ATOMIQ = {
'env': CURRENT_ENV,
'service': YOUR_SERICE_NAME,
}
Set up consumers for each queue type that your app needs. mbq.atomiq provides a handy management command for that:
python -m manage atomic_run_consumer --queue sns
python -m manage atomic_run_consumer --queue sqs
python -m manage atomic_run_consumer --queue celery --celery-app path.to.celery.app
notice that celery consumer requires an additional arg celery-app. This should be a module path to the file that instantializes celery app like so:
celery_app = Celery(NAME)
To make sure we’re not holding on to successfully executed or deleted tasks we also have a clean up management command, that by default will clean up all processed tasks that are older than 30 days. That default can be overriden.
python -m manage atomic_cleanup_old_tasks
or
python -m manage atomic_cleanup_old_tasks --days N
or
python -m manage atomic_cleanup_old_tasks --minutes N
Use it!
import mbq.atomiq
mbq.atomiq.sns_publish(topic_arn, message)
mbq.atomiq.sqs_publish(queue_url, message)
mbq.atomiq.celery_publish(celery_task, *task_args, **task_kwargs)
Monitoring
Testing
Tests are automatically in Travis CI https://travis-ci.org/managedbyq/mbq.atomiq but you can also run tests locally using docker-compose. We now use tox for local testing across multiple python environments. Before this use pyenv to install the following python interpreters: cpython{2.7, 3.5, 3.6} and pypy3
$ docker-compose up py36|py27|py37|pypy3
Shipping a New Release
Bump the version in __version__.py
Go to Releases in GitHub and “Draft a New Release”
After creating a new release, Travis CI will pick up the new release and ship it to PyPi
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.atomiq-0.0.5.tar.gz
.
File metadata
- Download URL: mbq.atomiq-0.0.5.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5a3b787e378ea725314a7346e8becc686645e8a2e568ae2e5f8dd7544d9c061 |
|
MD5 | 5e7fe5b9af24f0562357844673772cb5 |
|
BLAKE2b-256 | 3d2213bc247af03a3e1bbba7a8a8f151114bf579abee3d1afc88a9210da5076a |