Key Highlights
QoS Max Prefetch Limit #2348
Prevent Out Of Memory crashes when queues flood with ETA/countdown tasks. The new optional max_prefetch
parameter caps how many messages workers hold in memory. Defaults to unlimited (None
) to preserve existing behavior.
from kombu.common import QoS
# Limit prefetch to maximum 100 messages
qos = QoS(callback=consumer.qos, initial_value=10, max_prefetch=100)
Redis Polling Interval Support #2346
Fix Redis transport to properly propagate polling_interval
and brpop_timeout
from transport_options
to the Channel's _brpop_start
timeout.
app.conf.broker_transport_options = {"polling_interval": 10}
Leave it unset to keep the familiar 1-second default, or raise it to slow down idle polling.
Pidbox RabbitMQ 4.x Compatibility #2338
Let pidbox queues work on RabbitMQ 4.x brokers that reject transient, non-exclusive queues.
MongoDB Transport Improvements #2347
URI options now come through lowercase and flattened again, so settings like replicaSet=test_rs
show up as options['replicaset']
.
Resource Pool Gevent Compatibility #2314
Restore compatibility with recent gevent releases that monkey-patch the standard library queue.
Timezone-aware UTC Timestamps #2355
Replace every usage of datetime.utcnow()
with datetime.now(timezone.utc)
to return timezone-aware UTC datetimes.
Redis Client Name Support #2367
Support for propagating the client_name
connection parameter through the Redis transport (including Sentinel) so that connections appear with meaningful names in monitoring tools.
What's Changed
- Update Redis version constraint to <6.2 by @auvipy in #2377
- remove Python 3.8 from CI as EOL by @auvipy in #2241
- Revert "Bump pymongo from 4.10.1 to 4.15.3" by @auvipy in #2384
- Update requirements to remove backports.zoneinfo by @auvipy in #2391
- Update qpid-python and qpid-tools versions by @auvipy in #2392
- Remove Qpid transport from requirements of func test by @auvipy in #2393
- Fix comment grammar in entity_name test by @auvipy in #2394
- Prepare for (pre) release: v5.6.0rc2 by @Nusnus in #2396
Full Changelog: v5.6.0rc1...v5.6.0rc2