Changelog

All notable changes to this project will be documented in this file.

0.13.1 – 2017-11-17

Changed

  • Connection and import errors that occur during process boot now log stack traces (@rakanalh).
  • Added support for Python 3.5 (#7 by @jssuzanne).

0.13.0 – 2017-11-15

Added

0.12.1 – 2017-11-15

Fixed

  • An AssertionError after starting the consumer if RabbitMQ is not running (#10).

0.12.0 – 2017-11-14

Added

Fixed

  • Pending interrupt messages are now removed from pika’s queue before cancel is called. This fixes an issue where an AtrributeError was sometimes raised on worker shutdown.
  • Pika connection reset logs from the main thread are now hidden.
  • Distribution of dramatiq-gevent (#2).

0.11.0 – 2017-11-09

Added

Changed

  • Consumer reconnect backoff factor has been lowered from 10s to 100ms.
  • URLRabbitmqBroker is now a factory function that creates instances of RabbitmqBroker.

Fixed

  • Worker processes no longer use a spinlock to consume messages.
  • Consumers now use the same idle timeout as workers.
  • StubBroker no longer declares dead letter queues.

0.10.2 – 2017-11-06

Changed

  • pika is now pinned to >=0.10,<0.12.

0.10.1 – 2017-11-04

Added

  • More benchmarks.

Fixed

0.10.0 – 2017-10-30

Changed

  • Implementation of the window rate limiter has been streamlined.
  • Redis requeue is now more efficient.
  • RabbitMQ enqueue is now resilient to disconnects.

Fixed

0.9.0 – 2017-10-20

Changed

  • Messages are no longer assigned new ids when they are re-enqueued. This makes tracking messages using middleware significantly easier.
  • The RedisBroker now assigns its own internal message ids.

0.8.0 – 2017-10-19

Changed

  • RabbitmqBroker no longer takes a ConnectionParameters param as input. Instead, it builds one based on kwargs.
  • exec is now used to reload the main process on source code changes when the --watch flag is enabled.

0.7.1 – 2017-10-08

Fixed

  • Lua files are now properly distributed with the package.

0.7.0 – 2017-09-13

Changed

  • Reworked scheduled messages to improve fairness. Messages are now re-enqueued on the broker once they hit their eta.
  • prometheus-client has been pinned to version 0.0.20.

0.6.1 – 2017-07-20

Fixed

  • A race condition with calls to cas in the memcached rate limiter backend.

0.6.0 – 2017-07-09

Added

0.5.2 – 2017-06-29

Changed

  • Changed the default max retries value from None to 20, meaning tasks are now retried for up to about 30 days before they’re dead-lettered by default.

0.5.1 – 2017-06-28

Removed

  • Dropped RabbitMQ heartbeat to avoid spurious disconnects.

0.5.0 – 2017-06-27

Added

  • Added dramatiq-gevent script.

Changed

  • Capped prefetch counts to 65k.