Releases: Bogdanp/dramatiq
Releases · Bogdanp/dramatiq
v1.12.1
v1.12.0
Added
- RabbitMQ messages now have a redelivered flag. (#405, @nffdiogosilva)
- Time limits now work under gevent. (#408, @FinnLidbetter)
- Shutdown notifications now work under gevent. (#426, @FinnLidbetter)
Changed
- The watchdog library is no longer being pinned to a specific version. (#428)
- The Redis broker now limits unpacks to half the size of the Lua stack. (#433, #434, @ethervoid)
Fixed
- Async exceptions now correctly set the thread id on Python 3.7 and up. (#419, #420, @FinnLidbetter)
v1.11.0
Added
dramatiq.Message.decode
now raises adramatiq.DecodeError
on exception. (#375, @thomazthz)
Changed
- The RabbitMQ broker moves messages that fail to decode to the DLQ. (#375, @thomazthz)
Fixed
- The Redis broker is now more defensive in how it handles re-enqueueing messages. This should fix a potential race condition where a worker could hit its heartbeat timeout but still end up re-enqueueing messages (thus ending up with the same message id enqueued multiple times). (#266, #395)
- A code path that could lead to an unbound variable error has now been fixed. (#382)
- Deleting the connection off of a
RabbitMQ
broker now correctly closes it and its associated channel (if any) before removing it from the broker. (#381, #384)
v1.10.0
Added
- The RabbitMQ broker dead message TTL can now be configured via the
dramatiq_dead_message_ttl
environment variable. (#354, @evstratbg) - The CLI now supports referencing a callable to set up the broker on worker startup. (#350)
- The
--worker-shutdown-timeout
flag. (#330, @mic47)
Changed
- The CLI raises an error when the
--watch
flag is set on unsupported platforms. (#326, #328, @CaselIT)
Fixed
- The CLI now returns code 1 when one of the workers is killed by an unhandled signal. (#334, @omegacoleman)
- The results middleware now gracefully handles actor-not-found errors during nack. (#336, #337, @AndreCimander)
- A memory bloat issue with tasks that raise exceptions. (#351)
- CI on Windows. (#371, @gdvalle)
v1.9.0
Added
- A custom Redis connection can now be passed to the Redis broker via the new client keyword argument. (#274, @davidt99)
- Message priority can now be changed in before_enqueue hooks. (#313, @thomazthz)
- Support for storing actor exceptions. (#156)
- Support for silent Retries. (#295)
- Support for expected exceptions via the throws actor option. (#303, @takhs91)
- Support for changing the consumer class in the RabbitMQ and Redis brokers. (#316, @AndreCimander)
Changed
Fixed
- A race condition during command line startup where the wrong exit codes could be returned when subprocesses failed. (#286)
- A race condition between worker processes and fork processes during boot. (#297)
- A logging race condition on Linux. (#171, #286)
fileno
has been added toStreamablePipe
. (#291, @takhs91)
v1.8.1
v1.8.0
Added
- Support for forking and running arbitrary functions (so-called “fork functions”). (#127, #230)
- The
--fork-function
flag. - The
--skip-logging
flag. (#263, @whalesalad)
Fixed
- An issue where the max_age parameter to Callbacks was being ignored. (#240, @evstratbg)
- An issue with delaying pipelines. (#264, @synweap15)
- An issue where the master process would sometimes hang when stopped. (#260, @asavoy)
- An issue where the RedisBroker could sometimes prefetch more messages than it was configured to. (#262, @benekastah)
- The StubBroker now flushes its dead letter queue when its flush_all method is called. (#247, @CapedHero)
- The RedisBroker now takes the max lua stack size into account. This should fix certain heisenbugs that folks have encountered with that broker. (#259, @benekastah)
v1.7.0
v1.6.1
v1.6.0
Added
dramatiq_queue_prefetch
environment variable to control the number of messages to prefetch per worker thread. (#183, #184, @xelhark)- The RabbitMQ broker now retries the queue declaration process if an error occurs. (#179, @davidt99)
- Support for accessing nested broker instances from the CLI. (#191, @bersace)
- Support for eagerly raising actor exceptions in the joining thread with the
StubBroker
. (#195, #203) - Support for accessing the current message from an actor via
CurrentMessage
. (#208)
Changed
- Pinned pika version
>1.0,<2.0
. (#202)
Fixed
- An issue where workers would fail and never recover after the connection to Redis was severed. (#207)
pipe_ignore
has been fixed to apply to the next message in line within a pipeline. (#194, @metheoryt)