Repository navigation
fix(sqlalchemy): raise when a purge cannot be committed - #2811
Merged
auvipy merged 2 commits intoNov 2, 2026
Merged
Conversation
Channel._purge deleted the rows, and when the commit raised OperationalError (for example SQLite's "database is locked" once the busy timeout passes) it rolled back and still returned the count. queue_purge then reported N messages purged while all N were still in the queue. Re-raise after the rollback, as Channel._put does since celery#2793.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2811 +/- ##
==========================================
+ Coverage 85.76% 85.78% +0.01%
==========================================
Files 80 80
Lines 11596 11597 +1
Branches 1403 1403
==========================================
+ Hits 9945 9948 +3
+ Misses 1430 1428 -2
Partials 221 221 ☔ View full report in Codecov by Harness. |
auvipy
self-requested a review
November 2, 2026 14:01
giuseppe99barchetta
added a commit
to giuseppe99barchetta/SuggestArr
that referenced
this pull request
Nov 9, 2026
#563) Bumps the python-deps group in /api_service with 4 updates: [amqp](https://github.com/celery/py-amqp), [billiard](https://github.com/celery/billiard), [kombu](https://github.com/celery/kombu) and [openai](https://github.com/openai/openai-python). Updates `amqp` from 5.4.1 to 5.4.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/celery/py-amqp/releases">amqp's releases</a>.</em></p> <blockquote> <h2>v5.4.2</h2> <h2>What's Changed</h2> <ul> <li>docs: fix all Sphinx warnings in <a href="https://redirect.github.com/celery/py-amqp/issues/362">#362</a> by <a href="https://github.com/G-Glitch404"><code>@G-Glitch404</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/479">celery/py-amqp#479</a></li> <li>Fix publisher confirm state after channel revive by <a href="https://github.com/G-Glitch404"><code>@G-Glitch404</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/477">celery/py-amqp#477</a></li> <li>Fix non-UTF-8 field-table keys by <a href="https://github.com/G-Glitch404"><code>@G-Glitch404</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/478">celery/py-amqp#478</a></li> <li>Always return the consumer tag from basic_consume by <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/481">celery/py-amqp#481</a></li> <li>Forget no_ack consumers cancelled by the broker by <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/483">celery/py-amqp#483</a></li> <li>Send the content header for empty bodies on the slow write path by <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/485">celery/py-amqp#485</a></li> <li>Flush pending bits around timestamp and byte array fields by <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/484">celery/py-amqp#484</a></li> <li>Release prep for v5.4.2 by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/py-amqp/pull/491">celery/py-amqp#491</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/G-Glitch404"><code>@G-Glitch404</code></a> made their first contribution in <a href="https://redirect.github.com/celery/py-amqp/pull/479">celery/py-amqp#479</a></li> <li><a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> made their first contribution in <a href="https://redirect.github.com/celery/py-amqp/pull/481">celery/py-amqp#481</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/celery/py-amqp/compare/v5.4.1...v5.4.2">https://github.com/celery/py-amqp/compare/v5.4.1...v5.4.2</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/celery/py-amqp/blob/main/Changelog">amqp's changelog</a>.</em></p> <blockquote> <h1>5.4.2</h1> <p>:release-date: 2026-11-02 :release-by: Asif Saif Uddin (<a href="https://github.com/auvipy"><code>@auvipy</code></a>)</p> <ul> <li>Fix publisher confirm state after channel revive (<a href="https://redirect.github.com/celery/py-amqp/issues/477">#477</a>).</li> <li>Fix non-UTF-8 field-table keys.</li> <li>Always return the consumer tag from basic_consume (<a href="https://redirect.github.com/celery/py-amqp/issues/481">#481</a>).</li> <li>Forget no_ack consumers cancelled by the broker - <a href="https://redirect.github.com/celery/py-amqp/issues/483">#483</a>.</li> <li>Send the content header for empty bodies on the slow write path.</li> <li>Flush pending bits around timestamp and byte array fields (<a href="https://redirect.github.com/celery/py-amqp/issues/484">#484</a>).</li> </ul> <p>.. _version-5.4.1:</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/celery/py-amqp/commit/9d4a51a104021ef2f1920744087add8638cc2cc6"><code>9d4a51a</code></a> Bump version: 5.4.1 → 5.4.2</li> <li><a href="https://github.com/celery/py-amqp/commit/2c70aa8703b521bf58e024e7cd51e9f73e2a21bc"><code>2c70aa8</code></a> added changelog for v5.4.2 release</li> <li><a href="https://github.com/celery/py-amqp/commit/970fa1371320056f8aaf7e982d8c7353e1897e11"><code>970fa13</code></a> Flush pending bits around timestamp and byte array fields (<a href="https://redirect.github.com/celery/py-amqp/issues/484">#484</a>)</li> <li><a href="https://github.com/celery/py-amqp/commit/31a4602bbdf4d3b217cb4af4178106e430bad6db"><code>31a4602</code></a> Send the content header for empty bodies on the slow write path</li> <li><a href="https://github.com/celery/py-amqp/commit/b4326437d8073c7e26e2556fd110313fbf16d1a1"><code>b432643</code></a> Forget no_ack consumers cancelled by the broker</li> <li><a href="https://github.com/celery/py-amqp/commit/a259045ab6f997e51e9d4f9bbc0c50d82326d6c6"><code>a259045</code></a> Always return the consumer tag from basic_consume (<a href="https://redirect.github.com/celery/py-amqp/issues/481">#481</a>)</li> <li><a href="https://github.com/celery/py-amqp/commit/e58240b012d5ed8d8716cf7537d2b36a09d3d7e0"><code>e58240b</code></a> Fix non-UTF-8 field-table keys</li> <li><a href="https://github.com/celery/py-amqp/commit/15fb95f7a89e20b95ebaffcdf89b1473887aa241"><code>15fb95f</code></a> Fix publisher confirm state after channel revive (<a href="https://redirect.github.com/celery/py-amqp/issues/477">#477</a>)</li> <li><a href="https://github.com/celery/py-amqp/commit/5324feb1428f597af0f21d48e6237eee972c354e"><code>5324feb</code></a> docs: fix Sphinx warnings in documentation (<a href="https://redirect.github.com/celery/py-amqp/issues/362">#362</a>)</li> <li>See full diff in <a href="https://github.com/celery/py-amqp/compare/v5.4.1...v5.4.2">compare view</a></li> </ul> </details> <br /> Updates `billiard` from 4.3.1 to 4.3.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/celery/billiard/releases">billiard's releases</a>.</em></p> <blockquote> <h2>v4.3.2</h2> <h2>What's Changed</h2> <ul> <li>Fix flaky timeout and context availability in test_on_ready_counter_is_synchronized (<a href="https://redirect.github.com/celery/billiard/issues/415">#415</a>) by <a href="https://github.com/0xrutabaga"><code>@0xrutabaga</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/472">celery/billiard#472</a></li> <li>Fix spawn when the main module is a script by <a href="https://github.com/RazerM"><code>@RazerM</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/470">celery/billiard#470</a></li> <li>Fix AttributeError on Windows when terminating worker on hard timeout by <a href="https://github.com/0xrutabaga"><code>@0xrutabaga</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/471">celery/billiard#471</a></li> <li>Allow a pool to start with zero processes by <a href="https://github.com/GangEunzzang"><code>@GangEunzzang</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/477">celery/billiard#477</a></li> <li>Credit READY to the worker that ran the task by <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/474">celery/billiard#474</a></li> <li>Fix pool terminate() hang when a worker dies holding the outqueue lock by <a href="https://github.com/GangEunzzang"><code>@GangEunzzang</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/479">celery/billiard#479</a></li> <li>Reject nonpositive chunksizes in pool imap methods by <a href="https://github.com/JackyHsu-X"><code>@JackyHsu-X</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/481">celery/billiard#481</a></li> <li>Raise the task's exception from imap() iterators by <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/480">celery/billiard#480</a></li> <li>Release Prep for v4.3.2 by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/billiard/pull/482">celery/billiard#482</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/0xrutabaga"><code>@0xrutabaga</code></a> made their first contribution in <a href="https://redirect.github.com/celery/billiard/pull/472">celery/billiard#472</a></li> <li><a href="https://github.com/RazerM"><code>@RazerM</code></a> made their first contribution in <a href="https://redirect.github.com/celery/billiard/pull/470">celery/billiard#470</a></li> <li><a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a> made their first contribution in <a href="https://redirect.github.com/celery/billiard/pull/474">celery/billiard#474</a></li> <li><a href="https://github.com/JackyHsu-X"><code>@JackyHsu-X</code></a> made their first contribution in <a href="https://redirect.github.com/celery/billiard/pull/481">celery/billiard#481</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/celery/billiard/compare/v4.3.1...v4.3.2">https://github.com/celery/billiard/compare/v4.3.1...v4.3.2</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/celery/billiard/blob/main/CHANGES.txt">billiard's changelog</a>.</em></p> <blockquote> <h2>4.3.2 - 2026-11-02</h2> <ul> <li>Fix flaky timeout and context availability in test_on_ready_counter_is_synchronized.</li> <li>Fix spawn when the main module is a script (<a href="https://redirect.github.com/celery/billiard/issues/470">#470</a>).</li> <li>Fix AttributeError on Windows when terminating worker on hard timeout (<a href="https://redirect.github.com/celery/billiard/issues/471">#471</a>).</li> <li>Allow a pool to start with zero processes (<a href="https://redirect.github.com/celery/billiard/issues/477">#477</a>).</li> <li>Credit READY to the worker that ran the task (<a href="https://redirect.github.com/celery/billiard/issues/474">#474</a>).</li> <li>Fix pool terminate() hang when a worker dies holding the outqueue lock (<a href="https://redirect.github.com/celery/billiard/issues/479">#479</a>).</li> <li>Raise the task's exception from imap() iterators (<a href="https://redirect.github.com/celery/billiard/issues/480">#480</a>).</li> <li>Reject non-positive chunksize in Pool.imap() and Pool.imap_unordered(), including when Python runs with optimization enabled.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/celery/billiard/commit/895817a456af1a56c28675dfe4e22b87b991a72a"><code>895817a</code></a> Bump version: 4.3.1 → 4.3.2</li> <li><a href="https://github.com/celery/billiard/commit/3a9eb788699609b3f810bef8ba28a6ec8bc2b326"><code>3a9eb78</code></a> updated security guideline</li> <li><a href="https://github.com/celery/billiard/commit/b20dd15c52cb5b38094dd7ee22c96a744b10ab5b"><code>b20dd15</code></a> added changelog for v4.3.2 release</li> <li><a href="https://github.com/celery/billiard/commit/17cddec766a5d085f2c49334c8b0eb2e60e88adc"><code>17cddec</code></a> Raise the task's exception from imap() iterators (<a href="https://redirect.github.com/celery/billiard/issues/480">#480</a>)</li> <li><a href="https://github.com/celery/billiard/commit/7d2fcd2a2d0978d2c9062b8566fac0f7f84e5399"><code>7d2fcd2</code></a> Reject nonpositive chunksizes in pool imap methods</li> <li><a href="https://github.com/celery/billiard/commit/3a806fbfec4c419ea5f776fa6668e26863c4b4c0"><code>3a806fb</code></a> Fix pool terminate() hang when a worker dies holding the outqueue lock (<a href="https://redirect.github.com/celery/billiard/issues/479">#479</a>)</li> <li><a href="https://github.com/celery/billiard/commit/fe23965ebe22c5ae9491073d07892d5e0d5b2181"><code>fe23965</code></a> Credit READY to the worker that ran the task (<a href="https://redirect.github.com/celery/billiard/issues/474">#474</a>)</li> <li><a href="https://github.com/celery/billiard/commit/7efd7735fcdaa384e990dc58bc2755ad6d7e1b37"><code>7efd773</code></a> Allow a pool to start with zero processes (<a href="https://redirect.github.com/celery/billiard/issues/477">#477</a>)</li> <li><a href="https://github.com/celery/billiard/commit/531c3ae81897bb73ccbb7df38abe4fb7a24d5bfc"><code>531c3ae</code></a> Fix AttributeError on Windows when terminating worker on hard timeout (<a href="https://redirect.github.com/celery/billiard/issues/471">#471</a>)</li> <li><a href="https://github.com/celery/billiard/commit/40a82b1533e3e170cc24a5aec91c2c56a8e2c415"><code>40a82b1</code></a> Fix spawn when the main module is a script (<a href="https://redirect.github.com/celery/billiard/issues/470">#470</a>)</li> <li>Additional commits viewable in <a href="https://github.com/celery/billiard/compare/v4.3.1...v4.3.2">compare view</a></li> </ul> </details> <br /> Updates `kombu` from 5.6.2 to 5.7.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/celery/kombu/releases">kombu's releases</a>.</em></p> <blockquote> <h2>v5.7.0</h2> <h2>What's Changed</h2> <ul> <li>Add missing reprkwargs export to utils module by <a href="https://github.com/oliverhaas"><code>@oliverhaas</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2436">celery/kombu#2436</a></li> <li>Remove Python 3.9 from CI workflow by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2448">celery/kombu#2448</a></li> <li>Update Python and OS version in Read the Docs config by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2450">celery/kombu#2450</a></li> <li>Update redis requirement from !=4.5.5,!=5.0.2,<6.5,>=4.5.2 to >=4.5.2,!=4.5.5,!=5.0.2,<7.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2398">celery/kombu#2398</a></li> <li>Update Python versions in tox.ini configuration by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2449">celery/kombu#2449</a></li> <li>Bump pymongo from 4.10.1 to 4.15.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2386">celery/kombu#2386</a></li> <li>Bump pytest from 8.4.2 to 9.0.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2438">celery/kombu#2438</a></li> <li>Bump protobuf from 6.32.1 to 6.33.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2428">celery/kombu#2428</a></li> <li>Bump protobuf from 6.33.2 to 6.33.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2452">celery/kombu#2452</a></li> <li>Bump grpcio from 1.75.1 to 1.76.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2397">celery/kombu#2397</a></li> <li>Revert "Bump grpcio from 1.75.1 to 1.76.0" by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2454">celery/kombu#2454</a></li> <li>Update grpcio version to 1.76.0 by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2455">celery/kombu#2455</a></li> <li>Remove invalid Python version from workflow by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2459">celery/kombu#2459</a></li> <li>Update pypy to 3.11 by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2328">celery/kombu#2328</a></li> <li>Update Python versions in tox.ini by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2460">celery/kombu#2460</a></li> <li>Add support for fair queue in SQS by <a href="https://github.com/MartinSiby"><code>@MartinSiby</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2342">celery/kombu#2342</a></li> <li>Support redis queue expiration by <a href="https://github.com/ffje"><code>@ffje</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2251">celery/kombu#2251</a></li> <li>Fix Logwrapped not supporting context manager protocol by <a href="https://github.com/veeceey"><code>@veeceey</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2461">celery/kombu#2461</a></li> <li>Cycle through host before calling errback by <a href="https://github.com/arnaudmorin"><code>@arnaudmorin</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2331">celery/kombu#2331</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2467">celery/kombu#2467</a></li> <li>Allow enable_exactly_once_delivery for gcpubsub by <a href="https://github.com/tungntpham"><code>@tungntpham</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2431">celery/kombu#2431</a></li> <li>feat(gcpubsub): optimize topic existence check by <a href="https://github.com/haimjether"><code>@haimjether</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2462">celery/kombu#2462</a></li> <li>Fix active_queues to preserve queue ordering by <a href="https://github.com/nairb774"><code>@nairb774</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2464">celery/kombu#2464</a></li> <li>Fix#2418 catch os error in eventio by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2471">celery/kombu#2471</a></li> <li>Added support for SQS fanout via AWS SNS by <a href="https://github.com/rlaunch"><code>@rlaunch</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2372">celery/kombu#2372</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2472">celery/kombu#2472</a></li> <li>Use compression.zstd (PEP-784) by <a href="https://github.com/Rogdham"><code>@Rogdham</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2395">celery/kombu#2395</a></li> <li>Fix/2463 add gevent concurrent error to connection error by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2473">celery/kombu#2473</a></li> <li>Bump backports-zstd from 1.0.0 to 1.3.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2474">celery/kombu#2474</a></li> <li>Revert "Fix/2463 add gevent concurrent error to connection error" by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2475">celery/kombu#2475</a></li> <li>Fix/2463 gevent concurrent error by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2478">celery/kombu#2478</a></li> <li>Bump backports-zstd from 1.1.0 to 1.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2477">celery/kombu#2477</a></li> <li>Bump backports-zstd from 1.2.0 to 1.3.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2480">celery/kombu#2480</a></li> <li>Fix for SQS transport deadlock by <a href="https://github.com/rlaunch"><code>@rlaunch</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2479">celery/kombu#2479</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2483">celery/kombu#2483</a></li> <li>ChannelPromise: ensure the AttributeError does not appear in the traceback when the contract raises an exception by <a href="https://github.com/woutdenolf"><code>@woutdenolf</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2486">celery/kombu#2486</a></li> <li>Fix RabbitMQ 4.x crash: global QoS not supported on classic queues by <a href="https://github.com/Azd325"><code>@Azd325</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2481">celery/kombu#2481</a></li> <li>Fix: SQS <code>polling_interval</code> transport option ignored in async event loop <a href="https://redirect.github.com/celery/kombu/issues/2439">#2439</a> by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2489">celery/kombu#2489</a></li> <li>Bump protobuf from 6.33.5 to 6.33.6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2494">celery/kombu#2494</a></li> <li>Bump pytest-cov from 7.0.0 to 7.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2496">celery/kombu#2496</a></li> <li>Support callable passwords for credential refresh on reconnect by <a href="https://github.com/flamble"><code>@flamble</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2476">celery/kombu#2476</a></li> <li>fix(redis): prevent timer callbacks from crashing event loop on connection error by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2498">celery/kombu#2498</a></li> <li>Bump kazoo from 2.10.0 to 2.11.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2497">celery/kombu#2497</a></li> <li>fix: gcpubsub transport crash when using Pub/Sub emulator by <a href="https://github.com/NarendharManimohan"><code>@NarendharManimohan</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2493">celery/kombu#2493</a></li> <li>Bump pymongo from 4.15.3 to 4.16.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2453">celery/kombu#2453</a></li> <li>Run pre-commit once, not twice by <a href="https://github.com/cclauss"><code>@cclauss</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2500">celery/kombu#2500</a></li> <li>fix(redis): do not remove on_poll_start from on_tick on disconnect by <a href="https://github.com/antonio-mello-ai"><code>@antonio-mello-ai</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2492">celery/kombu#2492</a></li> <li>Bump codecov/codecov-action from 5 to 6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2501">celery/kombu#2501</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/celery/kombu/blob/main/Changelog.rst">kombu's changelog</a>.</em></p> <blockquote> <h1>5.7.0</h1> <p>:release-date: 03 November, 2026 :release-by: Asif Saif Uddin</p> <p>What's Changed</p> <pre><code>- fix(redis): keep an unacked message when its restore hits a connection error ([#2767](celery/kombu#2767)). - fix(sqs): avoid KeyError when a receive completes after basic_cancel ([#2772](celery/kombu#2772)). - fix(redis): pause pending BRPOP polling while QoS is full ([#2776](celery/kombu#2776)). - fix(asynchronous): close the HTTP client with the hub, and not reuse it after Hub.reset() ([#2782](celery/kombu#2782)). - fix(sqs): delete a message rejected without requeue ([#2784](celery/kombu#2784)). - fix(sqlalchemy): raise when a published message cannot be stored ([#2793](celery/kombu#2793)). - Update tzdata version constraint for Windows platform ([#2808](celery/kombu#2808)). - fix(common): publish(retry=True) fails after a reconnect with a named exchange ([#2797](celery/kombu#2797)). - Update amqp version to 5.4.2 ([#2810](celery/kombu#2810)). - fix(sqlalchemy): raise when a purge cannot be committed ([#2811](celery/kombu#2811)). <p>.. _version-5.7.0rc1:</p> <h1>5.7.0rc1</h1> <p>:release-date: 18 October, 2026 :release-by: Asif Saif Uddin</p> <p>What's Changed </code></pre></p> <h2>Redis</h2> <ul> <li>Forward <code>disconnect()</code> keyword arguments and discard closed idle <code>BRPOP</code> connections (<a href="https://redirect.github.com/celery/kombu/issues/2761">#2761</a>)</li> <li>Discard <code>BRPOP</code> connections whose replies are overdue (<a href="https://redirect.github.com/celery/kombu/issues/2757">#2757</a>)</li> <li>Expire binding tables for expiring queues (<a href="https://redirect.github.com/celery/kombu/issues/2732">#2732</a>)</li> </ul> <h2>SQLAlchemy</h2> <ul> <li>Use <code>BIGINT</code> IDs on MSSQL to prevent sequence overflow (<a href="https://redirect.github.com/celery/kombu/issues/2728">#2728</a>)</li> <li>Count only pending messages when purging a queue (<a href="https://redirect.github.com/celery/kombu/issues/2733">#2733</a>)</li> </ul> <h2>Fixes</h2> <ul> <li>Fix binary emergency state dumps (<a href="https://redirect.github.com/celery/kombu/issues/2659">#2659</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/celery/kombu/commit/703e96f22fb7a9c8da9a560b8b01f8766e654265"><code>703e96f</code></a> Bump version: 5.7.0rc1 → 5.7.0</li> <li><a href="https://github.com/celery/kombu/commit/d700961a600215f4971faef59f3c70c122f9098e"><code>d700961</code></a> updated security supported version</li> <li><a href="https://github.com/celery/kombu/commit/a5d882d3a219dcab7791549517fcaa2ef4603d85"><code>a5d882d</code></a> added changelog for v5.7.0 stable release</li> <li><a href="https://github.com/celery/kombu/commit/d6a185554b685701fe0c8e6a5fef0b2270ce04c3"><code>d6a1855</code></a> chore(deps): Bump grpcio from 1.84.1 to 1.85.1</li> <li><a href="https://github.com/celery/kombu/commit/1c8beafb10678547a5cf67798c29c821666c4386"><code>1c8beaf</code></a> fix(sqlalchemy): raise when a purge cannot be committed (<a href="https://redirect.github.com/celery/kombu/issues/2811">#2811</a>)</li> <li><a href="https://github.com/celery/kombu/commit/ed1366ddb455269e79846a528a9fedfbe163a56d"><code>ed1366d</code></a> Update amqp version to 5.4.2 (<a href="https://redirect.github.com/celery/kombu/issues/2810">#2810</a>)</li> <li><a href="https://github.com/celery/kombu/commit/8c540f638fd2f2e5e395b76e08f9ee0fbdb0c91e"><code>8c540f6</code></a> chore(deps): Bump azure-identity from 1.26.0 to 1.27.0 (<a href="https://redirect.github.com/celery/kombu/issues/2809">#2809</a>)</li> <li><a href="https://github.com/celery/kombu/commit/da41469428594d1daf3ebc7421193fd60cdf2856"><code>da41469</code></a> fix(common): publish(retry=True) fails after a reconnect with a named exchang...</li> <li><a href="https://github.com/celery/kombu/commit/9e6277a706dfe8d710bab6ce250034c1fa4cd166"><code>9e6277a</code></a> Update tzdata version constraint for Windows platform (<a href="https://redirect.github.com/celery/kombu/issues/2808">#2808</a>)</li> <li><a href="https://github.com/celery/kombu/commit/b1905179e8921168713fedd9386c6f0f9a441e7f"><code>b190517</code></a> fix(sqlalchemy): raise when a published message cannot be stored (<a href="https://redirect.github.com/celery/kombu/issues/2793">#2793</a>)</li> <li>Additional commits viewable in <a href="https://github.com/celery/kombu/compare/v5.6.2...v5.7.0">compare view</a></li> </ul> </details> <br /> Updates `openai` from 3.41.0 to 3.46.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/openai/openai-python/releases">openai's releases</a>.</em></p> <blockquote> <h2>v3.46.0</h2> <h2><a href="https://github.com/openai/openai-python/compare/v3.45.0...v3.46.0">3.46.0</a> (2026-11-05)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add Australia, India, and Japan residency options (<a href="https://redirect.github.com/openai/openai-python/issues/4246">#4246</a>) (<a href="https://github.com/openai/openai-python/commit/2634b87c2f3d31960936cb0653e662356cd138a2">2634b87</a>)</li> <li><strong>api:</strong> add GPT-6 Rosalind to the model catalog (<a href="https://redirect.github.com/openai/openai-python/issues/4243">#4243</a>) (<a href="https://github.com/openai/openai-python/commit/0f8e5f382861120809b1d149a18c744f725746a0">0f8e5f3</a>)</li> <li><strong>api:</strong> add image complexity and GIF and SVG output controls (<a href="https://redirect.github.com/openai/openai-python/issues/4247">#4247</a>) (<a href="https://github.com/openai/openai-python/commit/0152e3ada40e7580921aec71de2770ff02e69b05">0152e3a</a>)</li> <li><strong>api:</strong> expand agent turn errors and image and audio options (<a href="https://redirect.github.com/openai/openai-python/issues/4245">#4245</a>) (<a href="https://github.com/openai/openai-python/commit/1b2fb74d1ac88eca798a00d3e5c0789ab9e42833">1b2fb74</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>deps:</strong> bump github/codeql-action/init from 4.39.0 to 4.39.1 (<a href="https://redirect.github.com/openai/openai-python/issues/4230">#4230</a>) (<a href="https://github.com/openai/openai-python/commit/c9fe3355fd43084df817543d0d7bd5bc72065c0f">c9fe335</a>)</li> </ul> <h2>v3.45.0</h2> <h2><a href="https://github.com/openai/openai-python/compare/v3.44.0...v3.45.0">3.45.0</a> (2026-11-03)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add 12-hour Responses caching and cache-write usage (<a href="https://redirect.github.com/openai/openai-python/issues/4240">#4240</a>) (<a href="https://github.com/openai/openai-python/commit/5f717b537b7c230e2a38d0cebb0d5ccc8f97d00b">5f717b5</a>)</li> <li><strong>api:</strong> add project service tier settings (<a href="https://redirect.github.com/openai/openai-python/issues/4239">#4239</a>) (<a href="https://github.com/openai/openai-python/commit/1a2a3d02247f9eaf0614bae9d35c60cbddf1d460">1a2a3d0</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>clarify generated-file ownership (<a href="https://redirect.github.com/openai/openai-python/issues/4241">#4241</a>) (<a href="https://github.com/openai/openai-python/commit/0309a8c10cb0ddda39b40592455e76847b78cf64">0309a8c</a>)</li> </ul> <h2>v3.44.0</h2> <h2><a href="https://github.com/openai/openai-python/compare/v3.43.0...v3.44.0">3.44.0</a> (2026-11-03)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add workload identity providers and federation rules (<a href="https://redirect.github.com/openai/openai-python/issues/4237">#4237</a>) (<a href="https://github.com/openai/openai-python/commit/12709d708ad03291d8a81371a55a4dadfbcce31d">12709d7</a>)</li> </ul> <h2>v3.43.0</h2> <h2><a href="https://github.com/openai/openai-python/compare/v3.42.1...v3.43.0">3.43.0</a> (2026-11-03)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> expand Live Responses delegation tools (<a href="https://redirect.github.com/openai/openai-python/issues/4233">#4233</a>) (<a href="https://github.com/openai/openai-python/commit/f6e8480f9a5b2a4d02b17a1da54a1e57964bc312">f6e8480</a>)</li> <li><strong>responses:</strong> accumulate rich WebSocket progress (<a href="https://redirect.github.com/openai/openai-python/issues/4224">#4224</a>) (<a href="https://github.com/openai/openai-python/commit/48cdad3a61321cf9a27834b818c6d1fcfe651138">48cdad3</a>)</li> <li><strong>responses:</strong> add WebSocket lane overflow isolation (<a href="https://redirect.github.com/openai/openai-python/issues/4225">#4225</a>) (<a href="https://github.com/openai/openai-python/commit/16bdad17364b62254e14f52f834d15cf1036a024">16bdad1</a>)</li> </ul> <h3>Chores</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/openai/openai-python/blob/main/CHANGELOG.md">openai's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/openai/openai-python/compare/v3.45.0...v3.46.0">3.46.0</a> (2026-11-05)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add Australia, India, and Japan residency options (<a href="https://redirect.github.com/openai/openai-python/issues/4246">#4246</a>) (<a href="https://github.com/openai/openai-python/commit/2634b87c2f3d31960936cb0653e662356cd138a2">2634b87</a>)</li> <li><strong>api:</strong> add GPT-6 Rosalind to the model catalog (<a href="https://redirect.github.com/openai/openai-python/issues/4243">#4243</a>) (<a href="https://github.com/openai/openai-python/commit/0f8e5f382861120809b1d149a18c744f725746a0">0f8e5f3</a>)</li> <li><strong>api:</strong> add image complexity and GIF and SVG output controls (<a href="https://redirect.github.com/openai/openai-python/issues/4247">#4247</a>) (<a href="https://github.com/openai/openai-python/commit/0152e3ada40e7580921aec71de2770ff02e69b05">0152e3a</a>)</li> <li><strong>api:</strong> expand agent turn errors and image and audio options (<a href="https://redirect.github.com/openai/openai-python/issues/4245">#4245</a>) (<a href="https://github.com/openai/openai-python/commit/1b2fb74d1ac88eca798a00d3e5c0789ab9e42833">1b2fb74</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>deps:</strong> bump github/codeql-action/init from 4.39.0 to 4.39.1 (<a href="https://redirect.github.com/openai/openai-python/issues/4230">#4230</a>) (<a href="https://github.com/openai/openai-python/commit/c9fe3355fd43084df817543d0d7bd5bc72065c0f">c9fe335</a>)</li> </ul> <h2><a href="https://github.com/openai/openai-python/compare/v3.44.0...v3.45.0">3.45.0</a> (2026-11-03)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add 12-hour Responses caching and cache-write usage (<a href="https://redirect.github.com/openai/openai-python/issues/4240">#4240</a>) (<a href="https://github.com/openai/openai-python/commit/5f717b537b7c230e2a38d0cebb0d5ccc8f97d00b">5f717b5</a>)</li> <li><strong>api:</strong> add project service tier settings (<a href="https://redirect.github.com/openai/openai-python/issues/4239">#4239</a>) (<a href="https://github.com/openai/openai-python/commit/1a2a3d02247f9eaf0614bae9d35c60cbddf1d460">1a2a3d0</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>clarify generated-file ownership (<a href="https://redirect.github.com/openai/openai-python/issues/4241">#4241</a>) (<a href="https://github.com/openai/openai-python/commit/0309a8c10cb0ddda39b40592455e76847b78cf64">0309a8c</a>)</li> </ul> <h2><a href="https://github.com/openai/openai-python/compare/v3.43.0...v3.44.0">3.44.0</a> (2026-11-03)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add workload identity providers and federation rules (<a href="https://redirect.github.com/openai/openai-python/issues/4237">#4237</a>) (<a href="https://github.com/openai/openai-python/commit/12709d708ad03291d8a81371a55a4dadfbcce31d">12709d7</a>)</li> </ul> <h2><a href="https://github.com/openai/openai-python/compare/v3.42.1...v3.43.0">3.43.0</a> (2026-11-03)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> expand Live Responses delegation tools (<a href="https://redirect.github.com/openai/openai-python/issues/4233">#4233</a>) (<a href="https://github.com/openai/openai-python/commit/f6e8480f9a5b2a4d02b17a1da54a1e57964bc312">f6e8480</a>)</li> <li><strong>responses:</strong> accumulate rich WebSocket progress (<a href="https://redirect.github.com/openai/openai-python/issues/4224">#4224</a>) (<a href="https://github.com/openai/openai-python/commit/48cdad3a61321cf9a27834b818c6d1fcfe651138">48cdad3</a>)</li> <li><strong>responses:</strong> add WebSocket lane overflow isolation (<a href="https://redirect.github.com/openai/openai-python/issues/4225">#4225</a>) (<a href="https://github.com/openai/openai-python/commit/16bdad17364b62254e14f52f834d15cf1036a024">16bdad1</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>deps:</strong> bump actions/setup-node from 4.4.0 to 7.1.0 (<a href="https://redirect.github.com/openai/openai-python/issues/4229">#4229</a>) (<a href="https://github.com/openai/openai-python/commit/abbfb27aec2a660569d0570263d622877af64087">abbfb27</a>)</li> <li><strong>deps:</strong> bump actions/setup-python from 7.0.0 to 7.1.0 (<a href="https://redirect.github.com/openai/openai-python/issues/4232">#4232</a>) (<a href="https://github.com/openai/openai-python/commit/49f9a596ead681644a76a54992fc10e9b87a95b0">49f9a59</a>)</li> <li><strong>deps:</strong> bump pypa/gh-action-pypi-publish from 1.14.2 to 1.14.3 (<a href="https://redirect.github.com/openai/openai-python/issues/4228">#4228</a>) (<a href="https://github.com/openai/openai-python/commit/f43f29b5f7db37579becc2dad83f5054ef59ed6f">f43f29b</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/openai/openai-python/commit/ea5d1606f441d80dca1e9e7f99b74581f41408f8"><code>ea5d160</code></a> release: 3.46.0 (<a href="https://redirect.github.com/openai/openai-python/issues/4244">#4244</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/0152e3ada40e7580921aec71de2770ff02e69b05"><code>0152e3a</code></a> feat(api): add image complexity and GIF and SVG output controls (<a href="https://redirect.github.com/openai/openai-python/issues/4247">#4247</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/2634b87c2f3d31960936cb0653e662356cd138a2"><code>2634b87</code></a> feat(api): add Australia, India, and Japan residency options (<a href="https://redirect.github.com/openai/openai-python/issues/4246">#4246</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/b4aee4c1d5527a3d0d77940f35f6f79b2a272e70"><code>b4aee4c</code></a> chore(deps): bump the python-maintenance group across 1 directory with 11 upd...</li> <li><a href="https://github.com/openai/openai-python/commit/c9fe3355fd43084df817543d0d7bd5bc72065c0f"><code>c9fe335</code></a> chore(deps): bump github/codeql-action/init from 4.39.0 to 4.39.1 (<a href="https://redirect.github.com/openai/openai-python/issues/4230">#4230</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/d59f414417b977ef20d7a78f398b153dac32216e"><code>d59f414</code></a> chore(deps): update aiohttp, multidict, PyJWT, and required yarl security flo...</li> <li><a href="https://github.com/openai/openai-python/commit/1b2fb74d1ac88eca798a00d3e5c0789ab9e42833"><code>1b2fb74</code></a> feat(api): expand agent turn errors and image and audio options (<a href="https://redirect.github.com/openai/openai-python/issues/4245">#4245</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/0f8e5f382861120809b1d149a18c744f725746a0"><code>0f8e5f3</code></a> feat(api): add GPT-6 Rosalind to the model catalog (<a href="https://redirect.github.com/openai/openai-python/issues/4243">#4243</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/9b3458a2ef563493111a0a4265d4e9e7e14fe840"><code>9b3458a</code></a> release: 3.45.0 (<a href="https://redirect.github.com/openai/openai-python/issues/4242">#4242</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/0309a8c10cb0ddda39b40592455e76847b78cf64"><code>0309a8c</code></a> docs: clarify generated-file ownership (<a href="https://redirect.github.com/openai/openai-python/issues/4241">#4241</a>)</li> <li>Additional commits viewable in <a href="https://github.com/openai/openai-python/compare/v3.41.0...v3.46.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details>
Siddharthk17
added a commit
to Siddharthk17/PipelineIQ
that referenced
this pull request
Nov 10, 2026
…dates (#40) Bumps the celery-stack group with 2 updates in the /backend directory: [celery](https://github.com/celery/celery) and [kombu](https://github.com/celery/kombu). Updates `celery` from 5.6.3 to 5.7.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/celery/celery/releases">celery's releases</a>.</em></p> <blockquote> <h2>v5.7.0</h2> <h1>Celery 5.7.0</h1> <p>We're pleased to announce <strong>Celery 5.7.0</strong>, a new stable release of Celery.</p> <p>This release brings substantial improvements to task workflows, worker reliability, result handling, scheduling, and broker connectivity. It also includes new integrations, improved Python compatibility, performance optimizations, and a large number of bug fixes contributed by the community.</p> <p>A significant part of this release focuses on making complex Canvas workflows more reliable and efficient, improving worker behavior during broker disconnections and shutdown, and making result-backend state handling more consistent.</p> <h2>Highlights</h2> <ul> <li><strong>More reliable Canvas workflows:</strong> Improved chains, groups, chords, nested workflows, callbacks, errbacks, and failure propagation. Several fixes also reduce unnecessary message growth in complex chains and chords.</li> <li><strong>Improved worker reliability:</strong> Better connection recovery, graceful shutdown, prefork process management, autoscaling, and handling of worker-process loss.</li> <li><strong>More predictable task results:</strong> Improved result-state consistency, retry handling, <code>ignore_result</code> behavior, and concurrent <code>AsyncResult</code> tracking.</li> <li><strong>Timezone and scheduling improvements:</strong> More reliable ETA, countdown, expiration, crontab, solar schedules, and Celery Beat behavior across daylight-saving-time transitions.</li> <li><strong>New Pydantic integration behavior:</strong> Tasks configured with <code>pydantic=True</code> can accept Pydantic model instances.</li> <li><strong>New pymemcache result backend support:</strong> Adds support for using <code>pymemcache</code> as a result backend.</li> <li><strong>Improved Redis result backend:</strong> New expiration settings for chord and failure results, improved Pub/Sub handling, and more reliable chord accounting.</li> <li><strong>Better Python compatibility:</strong> Python 3.10 is now the minimum supported version, with compatibility work for newer Python versions, including Python 3.14.</li> <li><strong>Improved worker operations:</strong> Cgroup-aware automatic concurrency detection and additional worker-management improvements.</li> </ul> <h2>What's New</h2> <h3>Canvas, Chains, Groups, and Chords</h3> <p>Celery 5.7 includes extensive improvements to Canvas execution and composition, particularly for nested workflows and complex chains and chords.</p> <ul> <li>Fixed failure propagation through chained tasks into chord bodies.</li> <li>Improved chord failure handling when a chord header or a chained chord fails.</li> <li>Fixed chord error handling when the chord body is itself a chain.</li> <li>Improved handling of empty groups and chains, including empty groups inside chains and group headers.</li> <li>Chains are now constructed in a single pass instead of repeatedly folding signatures with the <code>|</code> operator.</li> <li>Reduced unnecessary message growth in chains of chords, chains of groups, implicit chords, and standalone chord bodies.</li> <li>Improved nested group handling and preservation of group IDs.</li> <li>Fixed duplicate nodes in <code>GroupResult.as_tuple()</code> after groups in chains.</li> <li>Improved <code>GroupResult</code> fan-out behavior in chains.</li> <li>Fixed eager execution behavior for chains containing <code>Ignore</code> or <code>Reject</code>.</li> <li>Avoided unnecessary result-backend access when eagerly applying groups inside chains.</li> <li>Improved task replacement with chains containing groups, including cases that previously could hang.</li> <li>Improved callback execution when a task is replaced by a chain, ensuring callbacks are not invoked repeatedly.</li> <li>Fixed eager-chain callback behavior so that chain links are dispatched once at the appropriate point.</li> <li>Improved propagation of task options, ETA, and countdown values to chord headers.</li> <li>Corrected the handling of <code>link</code> and <code>link_error</code> options on chords so they are applied to the chord body.</li> <li>Improved errback argument classification and handling of new-style errback calls.</li> <li>Preserved group errback mutability and improved stamped-header merging and revocation.</li> <li>Improved signature cloning and option isolation, preventing cloned signatures from sharing mutable keyword arguments with their originals.</li> <li>Fixed argument forwarding through nested chains during eager execution.</li> <li>Improved <code>map</code> and <code>starmap</code> option merging.</li> </ul> <p>These changes make complex Canvas compositions more predictable and reduce unnecessary broker traffic and message growth.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/celery/celery/blob/main/Changelog.rst">celery's changelog</a>.</em></p> <blockquote> <h1>5.7.0</h1> <p>:release-date: 2026-11-05 :release-by: Asif Saif Uddin</p> <p>Celery v5.7.0 Stable Release is now available for testing and deploy to production. Please help us test this version and report any issues.</p> <h1>What's Changed Since 5.7.0rc1</h1> <p>This section summarizes the changes made since the Celery 5.7.0rc1 pre-release.</p> <h2>Canvas, Chains, Groups, and Chords</h2> <ul> <li>Run a replaced task's callbacks once when it is replaced with a chain (<code>:ghpull:</code>10927`).</li> <li>Fix chord link and link-error options so they are passed to the body only (<code>:ghpull:</code>10778`).</li> <li>Fix stamped header revocation (<code>:ghpull:</code>10884`).</li> <li>Count each chord header task only once in the Redis backend (<code>:ghpull:</code>10919`).</li> <li>Fix Redis chord claim cleanup ownership (<code>:ghpull:</code>10998`).</li> <li>Fail the chord when <code>chord_unlock</code> retry is refused by the broker (<code>:ghpull:</code>10959`).</li> </ul> <h2>Task Execution and Result Handling</h2> <ul> <li>Fix retry argument conflicts when switching calling conventions (<code>:ghpull:</code>10895`).</li> <li>Pass values to backend hooks by position again (<code>:ghpull:</code>10918`).</li> <li>Don't mark a task <code>REVOKED</code> while another worker is running it (<code>:ghpull:</code>10922`).</li> <li>Keep the first <code>SUCCESS</code> in the database, MongoDB, and Cassandra backends (<code>:ghpull:</code>10920<code>, :ghpull:</code>10944<code>, :ghpull:</code>10945`).</li> <li>Don't record <code>FAILURE</code> when <code>on_success</code> raises after <code>SUCCESS</code> was stored (<code>:ghpull:</code>10759`).</li> <li>Don't fail a task whose <code>SUCCESS</code> was stored before the worker was lost (<code>:ghpull:</code>10752`).</li> <li>Fix a worker hang in <code>WorkerLostError</code> when <code>result_backend_always_retry=True</code> (<code>:ghpull:</code>10960`).</li> <li>Fix <code>send_task()</code> overriding <code>ignore_result</code> defaults (<code>:ghpull:</code>10953`).</li> <li>Preserve <code>ignore_result</code> overrides across task retries (<code>:ghpull:</code>10958`).</li> <li>Make <code>Task.apply()</code> respect the <code>task.ignore_result</code> default (<code>:ghpull:</code>11001`).</li> <li>Don't store <code>RETRY</code> for an ignored result when retrying after a lost worker (<code>:ghpull:</code>11009`).</li> <li>Track every <code>AsyncResult</code> waiting on a task ID (<code>:ghpull:</code>10956`).</li> <li>Allow <code>ResultSet.add()</code> after the set's results are ready (<code>:ghpull:</code>10930`).</li> <li>Use the documented retry defaults in the database backend (<code>:ghpull:</code>10921`).</li> <li>Fix Manager warning output during retries (<code>:ghpull:</code>10948`).</li> <li>Wait between retries when the broker refuses a callback publish (<code>:ghpull:</code>10975`).</li> <li>Merge signature options in <code>map</code> and <code>starmap</code> <code>apply_async()</code> (<code>:ghpull:</code>10787`).</li> <li>Stop gating task publishing signals on cached receiver lists (<code>:ghpull:</code>10791`).</li> </ul> <h2>Worker Operations</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/celery/celery/commit/6fcdbf904d410749ad7676d8ff6b1b25d6e19675"><code>6fcdbf9</code></a> Bump version: 5.7.0rc1 → 5.7.0 (<a href="https://redirect.github.com/celery/celery/issues/11025">#11025</a>)</li> <li><a href="https://github.com/celery/celery/commit/4a1d6f42ff6e220050875dd83367815fa33f4c59"><code>4a1d6f4</code></a> Make beat's pidbox stop test tolerate slow runners (<a href="https://redirect.github.com/celery/celery/issues/11024">#11024</a>)</li> <li><a href="https://github.com/celery/celery/commit/6a80d471983d40fa65c78baf006885062b546132"><code>6a80d47</code></a> Added changelog and new features for celery v5.7.0 stable version (<a href="https://redirect.github.com/celery/celery/issues/11016">#11016</a>)</li> <li><a href="https://github.com/celery/celery/commit/6b67b23b0b784d62809152b5ac2f7acf7def8297"><code>6b67b23</code></a> Fix dead Akismet and vine zipball links in the docs (<a href="https://redirect.github.com/celery/celery/issues/11021">#11021</a>)</li> <li><a href="https://github.com/celery/celery/commit/e82fa93f539bc2eb0237417382fad02f42452532"><code>e82fa93</code></a> Chore(deps): Bump azure-identity from 1.26.0 to 1.27.0</li> <li><a href="https://github.com/celery/celery/commit/2fe0ead077408eae9c1ff883b9d995792fbc0170"><code>2fe0ead</code></a> Chore(deps): Bump google-cloud-storage from 3.15.0 to 3.17.1 (<a href="https://redirect.github.com/celery/celery/issues/11013">#11013</a>)</li> <li><a href="https://github.com/celery/celery/commit/89ce90041834e0624aed7623f098dc59ef91c7a5"><code>89ce900</code></a> Fix#10997 - redis chord claim cleanup ownership (<a href="https://redirect.github.com/celery/celery/issues/10998">#10998</a>)</li> <li><a href="https://github.com/celery/celery/commit/5d83c46ebb3f7183998f55fa2e5af0ad0038b278"><code>5d83c46</code></a> Don't store RETRY for an ignored result when retrying after a lost worker (<a href="https://redirect.github.com/celery/celery/issues/1">#1</a>...</li> <li><a href="https://github.com/celery/celery/commit/1f435e5c718c8485143910d67b40eb164fd9f567"><code>1f435e5</code></a> Use Cuba's 2025 fall-back in the midnight DST tests</li> <li><a href="https://github.com/celery/celery/commit/98b7ba94a17239ff4c44ed59a10a1b09a68f81db"><code>98b7ba9</code></a> Update kombu version to 5.7.0 (<a href="https://redirect.github.com/celery/celery/issues/11007">#11007</a>)</li> <li>Additional commits viewable in <a href="https://github.com/celery/celery/compare/v5.6.3...v5.7.0">compare view</a></li> </ul> </details> <br /> Updates `kombu` from 5.6.2 to 5.7.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/celery/kombu/releases">kombu's releases</a>.</em></p> <blockquote> <h2>v5.7.0</h2> <h2>What's Changed</h2> <ul> <li>Add missing reprkwargs export to utils module by <a href="https://github.com/oliverhaas"><code>@oliverhaas</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2436">celery/kombu#2436</a></li> <li>Remove Python 3.9 from CI workflow by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2448">celery/kombu#2448</a></li> <li>Update Python and OS version in Read the Docs config by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2450">celery/kombu#2450</a></li> <li>Update redis requirement from !=4.5.5,!=5.0.2,<6.5,>=4.5.2 to >=4.5.2,!=4.5.5,!=5.0.2,<7.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2398">celery/kombu#2398</a></li> <li>Update Python versions in tox.ini configuration by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2449">celery/kombu#2449</a></li> <li>Bump pymongo from 4.10.1 to 4.15.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2386">celery/kombu#2386</a></li> <li>Bump pytest from 8.4.2 to 9.0.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2438">celery/kombu#2438</a></li> <li>Bump protobuf from 6.32.1 to 6.33.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2428">celery/kombu#2428</a></li> <li>Bump protobuf from 6.33.2 to 6.33.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2452">celery/kombu#2452</a></li> <li>Bump grpcio from 1.75.1 to 1.76.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2397">celery/kombu#2397</a></li> <li>Revert "Bump grpcio from 1.75.1 to 1.76.0" by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2454">celery/kombu#2454</a></li> <li>Update grpcio version to 1.76.0 by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2455">celery/kombu#2455</a></li> <li>Remove invalid Python version from workflow by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2459">celery/kombu#2459</a></li> <li>Update pypy to 3.11 by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2328">celery/kombu#2328</a></li> <li>Update Python versions in tox.ini by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2460">celery/kombu#2460</a></li> <li>Add support for fair queue in SQS by <a href="https://github.com/MartinSiby"><code>@MartinSiby</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2342">celery/kombu#2342</a></li> <li>Support redis queue expiration by <a href="https://github.com/ffje"><code>@ffje</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2251">celery/kombu#2251</a></li> <li>Fix Logwrapped not supporting context manager protocol by <a href="https://github.com/veeceey"><code>@veeceey</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2461">celery/kombu#2461</a></li> <li>Cycle through host before calling errback by <a href="https://github.com/arnaudmorin"><code>@arnaudmorin</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2331">celery/kombu#2331</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2467">celery/kombu#2467</a></li> <li>Allow enable_exactly_once_delivery for gcpubsub by <a href="https://github.com/tungntpham"><code>@tungntpham</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2431">celery/kombu#2431</a></li> <li>feat(gcpubsub): optimize topic existence check by <a href="https://github.com/haimjether"><code>@haimjether</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2462">celery/kombu#2462</a></li> <li>Fix active_queues to preserve queue ordering by <a href="https://github.com/nairb774"><code>@nairb774</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2464">celery/kombu#2464</a></li> <li>Fix#2418 catch os error in eventio by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2471">celery/kombu#2471</a></li> <li>Added support for SQS fanout via AWS SNS by <a href="https://github.com/rlaunch"><code>@rlaunch</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2372">celery/kombu#2372</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2472">celery/kombu#2472</a></li> <li>Use compression.zstd (PEP-784) by <a href="https://github.com/Rogdham"><code>@Rogdham</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2395">celery/kombu#2395</a></li> <li>Fix/2463 add gevent concurrent error to connection error by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2473">celery/kombu#2473</a></li> <li>Bump backports-zstd from 1.0.0 to 1.3.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2474">celery/kombu#2474</a></li> <li>Revert "Fix/2463 add gevent concurrent error to connection error" by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2475">celery/kombu#2475</a></li> <li>Fix/2463 gevent concurrent error by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2478">celery/kombu#2478</a></li> <li>Bump backports-zstd from 1.1.0 to 1.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2477">celery/kombu#2477</a></li> <li>Bump backports-zstd from 1.2.0 to 1.3.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2480">celery/kombu#2480</a></li> <li>Fix for SQS transport deadlock by <a href="https://github.com/rlaunch"><code>@rlaunch</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2479">celery/kombu#2479</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2483">celery/kombu#2483</a></li> <li>ChannelPromise: ensure the AttributeError does not appear in the traceback when the contract raises an exception by <a href="https://github.com/woutdenolf"><code>@woutdenolf</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2486">celery/kombu#2486</a></li> <li>Fix RabbitMQ 4.x crash: global QoS not supported on classic queues by <a href="https://github.com/Azd325"><code>@Azd325</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2481">celery/kombu#2481</a></li> <li>Fix: SQS <code>polling_interval</code> transport option ignored in async event loop <a href="https://redirect.github.com/celery/kombu/issues/2439">#2439</a> by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2489">celery/kombu#2489</a></li> <li>Bump protobuf from 6.33.5 to 6.33.6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2494">celery/kombu#2494</a></li> <li>Bump pytest-cov from 7.0.0 to 7.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2496">celery/kombu#2496</a></li> <li>Support callable passwords for credential refresh on reconnect by <a href="https://github.com/flamble"><code>@flamble</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2476">celery/kombu#2476</a></li> <li>fix(redis): prevent timer callbacks from crashing event loop on connection error by <a href="https://github.com/ChickenBenny"><code>@ChickenBenny</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2498">celery/kombu#2498</a></li> <li>Bump kazoo from 2.10.0 to 2.11.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2497">celery/kombu#2497</a></li> <li>fix: gcpubsub transport crash when using Pub/Sub emulator by <a href="https://github.com/NarendharManimohan"><code>@NarendharManimohan</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2493">celery/kombu#2493</a></li> <li>Bump pymongo from 4.15.3 to 4.16.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2453">celery/kombu#2453</a></li> <li>Run pre-commit once, not twice by <a href="https://github.com/cclauss"><code>@cclauss</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2500">celery/kombu#2500</a></li> <li>fix(redis): do not remove on_poll_start from on_tick on disconnect by <a href="https://github.com/antonio-mello-ai"><code>@antonio-mello-ai</code></a> in <a href="https://redirect.github.com/celery/kombu/pull/2492">celery/kombu#2492</a></li> <li>Bump codecov/codecov-action from 5 to 6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/celery/kombu/pull/2501">celery/kombu#2501</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/celery/kombu/blob/main/Changelog.rst">kombu's changelog</a>.</em></p> <blockquote> <h1>5.7.0</h1> <p>:release-date: 03 November, 2026 :release-by: Asif Saif Uddin</p> <p>What's Changed</p> <pre><code>- fix(redis): keep an unacked message when its restore hits a connection error ([#2767](celery/kombu#2767)). - fix(sqs): avoid KeyError when a receive completes after basic_cancel ([#2772](celery/kombu#2772)). - fix(redis): pause pending BRPOP polling while QoS is full ([#2776](celery/kombu#2776)). - fix(asynchronous): close the HTTP client with the hub, and not reuse it after Hub.reset() ([#2782](celery/kombu#2782)). - fix(sqs): delete a message rejected without requeue ([#2784](celery/kombu#2784)). - fix(sqlalchemy): raise when a published message cannot be stored ([#2793](celery/kombu#2793)). - Update tzdata version constraint for Windows platform ([#2808](celery/kombu#2808)). - fix(common): publish(retry=True) fails after a reconnect with a named exchange ([#2797](celery/kombu#2797)). - Update amqp version to 5.4.2 ([#2810](celery/kombu#2810)). - fix(sqlalchemy): raise when a purge cannot be committed ([#2811](celery/kombu#2811)). <p>.. _version-5.7.0rc1:</p> <h1>5.7.0rc1</h1> <p>:release-date: 18 October, 2026 :release-by: Asif Saif Uddin</p> <p>What's Changed </code></pre></p> <h2>Redis</h2> <ul> <li>Forward <code>disconnect()</code> keyword arguments and discard closed idle <code>BRPOP</code> connections (<a href="https://redirect.github.com/celery/kombu/issues/2761">#2761</a>)</li> <li>Discard <code>BRPOP</code> connections whose replies are overdue (<a href="https://redirect.github.com/celery/kombu/issues/2757">#2757</a>)</li> <li>Expire binding tables for expiring queues (<a href="https://redirect.github.com/celery/kombu/issues/2732">#2732</a>)</li> </ul> <h2>SQLAlchemy</h2> <ul> <li>Use <code>BIGINT</code> IDs on MSSQL to prevent sequence overflow (<a href="https://redirect.github.com/celery/kombu/issues/2728">#2728</a>)</li> <li>Count only pending messages when purging a queue (<a href="https://redirect.github.com/celery/kombu/issues/2733">#2733</a>)</li> </ul> <h2>Fixes</h2> <ul> <li>Fix binary emergency state dumps (<a href="https://redirect.github.com/celery/kombu/issues/2659">#2659</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/celery/kombu/commit/703e96f22fb7a9c8da9a560b8b01f8766e654265"><code>703e96f</code></a> Bump version: 5.7.0rc1 → 5.7.0</li> <li><a href="https://github.com/celery/kombu/commit/d700961a600215f4971faef59f3c70c122f9098e"><code>d700961</code></a> updated security supported version</li> <li><a href="https://github.com/celery/kombu/commit/a5d882d3a219dcab7791549517fcaa2ef4603d85"><code>a5d882d</code></a> added changelog for v5.7.0 stable release</li> <li><a href="https://github.com/celery/kombu/commit/d6a185554b685701fe0c8e6a5fef0b2270ce04c3"><code>d6a1855</code></a> chore(deps): Bump grpcio from 1.84.1 to 1.85.1</li> <li><a href="https://github.com/celery/kombu/commit/1c8beafb10678547a5cf67798c29c821666c4386"><code>1c8beaf</code></a> fix(sqlalchemy): raise when a purge cannot be committed (<a href="https://redirect.github.com/celery/kombu/issues/2811">#2811</a>)</li> <li><a href="https://github.com/celery/kombu/commit/ed1366ddb455269e79846a528a9fedfbe163a56d"><code>ed1366d</code></a> Update amqp version to 5.4.2 (<a href="https://redirect.github.com/celery/kombu/issues/2810">#2810</a>)</li> <li><a href="https://github.com/celery/kombu/commit/8c540f638fd2f2e5e395b76e08f9ee0fbdb0c91e"><code>8c540f6</code></a> chore(deps): Bump azure-identity from 1.26.0 to 1.27.0 (<a href="https://redirect.github.com/celery/kombu/issues/2809">#2809</a>)</li> <li><a href="https://github.com/celery/kombu/commit/da41469428594d1daf3ebc7421193fd60cdf2856"><code>da41469</code></a> fix(common): publish(retry=True) fails after a reconnect with a named exchang...</li> <li><a href="https://github.com/celery/kombu/commit/9e6277a706dfe8d710bab6ce250034c1fa4cd166"><code>9e6277a</code></a> Update tzdata version constraint for Windows platform (<a href="https://redirect.github.com/celery/kombu/issues/2808">#2808</a>)</li> <li><a href="https://github.com/celery/kombu/commit/b1905179e8921168713fedd9386c6f0f9a441e7f"><code>b190517</code></a> fix(sqlalchemy): raise when a published message cannot be stored (<a href="https://redirect.github.com/celery/kombu/issues/2793">#2793</a>)</li> <li>Additional commits viewable in <a href="https://github.com/celery/kombu/compare/v5.6.2...v5.7.0">compare view</a></li> </ul> </details> <br />
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The SQLAlchemy transport's
Channel._purgedeletes the queue's messages and commits, and when that commit raisesOperationalErrorit rolls back and still returns the count. The caller is told the messages were purged when they are all still in the queue. This makes_purgere-raise after the rollback, the same change #2793 made to_put; #2793 listed_purgeas not in that PR.Problem
kombu/transport/sqlalchemy/__init__.py,Channel._purge:Queue.purge()andchannel.queue_purge()return that count, so a purge that was rolled back reports N messages removed and the messages are delivered later.The trigger I reproduced is SQLite's
database is locked: another connection holds a read transaction (for example a monitoring query, a backup or an admin shell) past the busy timeout (5 seconds by default) while the purge commits. If the other connection holds a write lock instead, the DELETE itself fails, and that error already propagates onmain, so only the commit path is affected. OtherOperationalErrors raised at commit on other databases take the same path; I have only reproduced the SQLite one.Reproduction
Real kombu, SQLAlchemy 2.1.6 and SQLite, nothing mocked, default busy timeout. Three messages are published to
work, then a separate process opens the database withsqlite3, runsBEGINand aSELECT, holds it and commits, whileQueue.purge()runs.On
main(8c540f6):With this change:
Change
_purgere-raises after the rollback (3 added lines: a comment and theraise). On a failed commit the rollback leaves the session usable for the next call. A purge that fails now raises instead of returning a count; nothing is deleted in either case.One side effect:
queue_deletecalls_purge, soafter_reply_message_received, which runs in thefinallyofMailbox._collectandcollect_replies, now raises on a commit lock instead of silently leaving the reply queue in place. When that happens, the replies collected in that call are lost to the caller. I left the Mailbox side alone in this PR.Verification
Two new tests in
t/unit/transport/test_sqlalchemy.py, using a real SQLite file and a 0.05 s busy timeout, like the #2793 tests:test_purge_raises_when_commit_fails: a secondsqlite3connection holds a read transaction, so the DELETE runs but the COMMIT getsdatabase is locked. Asserts theOperationalErrorand that all 3 messages are still in the queue.test_purge_returns_count_when_commit_succeeds.The first test fails on
mainand passes with the change (5 runs each). The file passes with SQLAlchemy 2.1.6 and with 1.4.54, the oldest versionrequirements/extras/sqlalchemy.txtallows (16 passed). The rest oft/unitis unchanged: 2335 passed with this change, 2333 onmain;test_filesystem.py::test_FilesystemOpenErrors::test_get_closes_file_when_read_failsfails here onmaintoo, as noted in #2793. pre-commit (flake8, isort, mypy, codespell) passes on the changed files.