Azure Queue Brokers for Dramatiq
Project description
dramatiq-azure
A Dramatiq broker that can be used with Microsoft Azure queue services.
Heavily inspired by Dramatiq SQS, this package currently implements a broker for Azure Storage Queue. An implementation for Azure Service Bus is planned... eventually.
Installation
pip install dramatiq_azure
Usage
ASQBroker
The broker looks for AZURE_STORAGE_CONNECTION_STR
in the environment, to authenticate on Azure Storage.
You need to make sure that the variable exists at runtime.
Creating a connection string for your Azure account is documented here.
import os
import dramatiq
from dramatiq.middleware import AgeLimit, TimeLimit, Callbacks, Pipelines, Prometheus, Retries
from dramatiq_azure import asqBroker
broker = ASQBroker(
dead_letter=True,
middleware=[
Prometheus(),
AgeLimit(),
TimeLimit(),
Callbacks(),
Pipelines(),
Retries(min_backoff=1000, max_backoff=900000, max_retries=96),
],
)
dramatiq.set_broker(broker)
Tests
Unfortunately, I've not yet found a reliable way to mock interaction with Azure Storage services yet. As a result, tests require a running Azurite instance.
You can easily launch azurite
through Docker, without installing anything locally.
docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azurite
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
Built Distribution
Hashes for dramatiq_azure-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d405334cc734b316ee734848a633c34def1a6c2abda1b24d97c6e31a9eb2771 |
|
MD5 | 35bf9a697df3bd9ac778d386ed23201f |
|
BLAKE2b-256 | 19684981abf219b59ee7545279c4549acc6677fc61fdbf367a505f6c31d0e7ba |