This backend has a number of limitations compared to the built-in Redis and RMQ backends:
- the max amount of time messages can be delayed by is 15 minutes,
- messages can be at most 256KiB large and
- messages must be processed within 2 hours of being pulled, otherwise they will be redelivered.
pip install dramatiq_sqs
import dramatiq from dramatiq.middleware import AgeLimit, TimeLimit, Callbacks, Pipelines, Prometheus, Retries from dramatiq_sqs import SQSBroker broker = SQSBroker( namespace="dramatiq_sqs_tests", middleware=[ Prometheus(), AgeLimit(), TimeLimit(), Callbacks(), Pipelines(), Retries(min_backoff=1000, max_backoff=900000, max_retries=96), ], ) dramatiq.set_broker(broker)
broker = SQSBroker( # ... endpoint_url="http://127.0.0.1:9324", )
dramatiq_sqs is licensed under Apache 2.0. Please see LICENSE for licensing details.