- Update to 5.5.3
* Make the tests run on python 3.13 for gcs backend (#9677)
* Added DeepWiki to README (#9683)
* Limit redis to <=v5.2.1 to match Kombu (#9693)
* Use EX_OK instead of literal zero (#9684)
* Make wheel metadata reproducible (#9687)
* Let celery install from kombu dependencies for better align (#9696)
* Fix stamping documentation to clarify stamped_headers key is optional
in visitor methods (#9697)
* Support apply_async without queue argument on quorum queues (#9686)
* Updated rabbitmq doc about using quorum queues with task routes (#9707)
* Add: Dumper Unit Test (#9711)
* Add unit test for event.group_from (#9709)
* Refactor: add beat_cron_starting_deadline documentation warning (#9712)
* Fix: Resolve issue #9569 by supporting distinct broker transport
options for workers (#9695)
* Fixes issue with retry callback arguments in DelayedDelivery (#9708)
* get_exchange-unit-test (#9710)
* ISSUE-9704: Update documentation of result_expires, filesystem backend
is supported (#9716)
* Update to blacksmith ubuntu 24.04 (#9717)
* Added unit tests for celery.utils.iso8601 (#9725)
* Update introduction.rst docs (#9728)
* Prepare for release: v5.5.3 (#9732)
OBS-URL: https://build.opensuse.org/request/show/1284472
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=164
- Update to 5.4.0
* Add a Task class specialised for Django
* Add Google Cloud Storage (GCS) backend
* Added documentation to the smoke tests infra
* Bugfix: Missing id on chain
* Bugfix: Worker not consuming tasks after Redis broker restart
* Catch UnicodeDecodeError when opening corrupt beat-schedule.db
* chore(ci): Enhance CI with workflow_dispatch for targeted debugging
* Enable efficient chord when using dynamicdb as backend store
* feat(daemon): allows daemonization options to be fetched from app
settings
* Fix DeprecationWarning: datetime.datetime.utcnow()
* Fix recursive result parents on group in middle of chain
* Hotfix: Smoke tests didn’t allow customizing the worker’s command
arguments, now it does
* Make custom remote control commands available in CLI
* Print safe_say() to stdout for non-error flows
* Support moto 5.0
- Drop support-moto-5.patch
OBS-URL: https://build.opensuse.org/request/show/1185136
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=158
* Update task.py get_custom_headers missing 'compression' key
* Basic ElasticSearch / ElasticClient 8.x Support
* Fix eager tasks does not populate name field
* Fix: serialization error when gossip working
* Stamping bugfix with group/chord header errback linking
* Fixed issue: Flags broker_connection_retry_on_startup &
broker_connection_retry aren’t reliable
* Use string value for CELERY_SKIP_CHECKS envvar
* Added initial support for python 3.11
* Fixed a small float value of retry_backoff
* Update CELERY_TASK_EAGER setting in user guide
* Fixed bug where retrying a task loses its stamps
* Warn when an unnamed periodic task override another one.
* Fix Task.handle_ignore not wrapping exceptions properly
* Align revoke and revoke_by_stamped_headers return values (terminate=True)
* Added signal triggered before fork
* Deprecate pytz and use zoneinfo
* recreate_module: set spec to the new module
* Do not recommend using easy_install anymore
* importlib_metadata remove deprecated entry point interfaces
* New control command revoke_by_stamped_headers
* Remove reference to old Python version
* Stamping a task left the task properties dirty
* Bugfix for nested group stamping on task replace
* Add broker_channel_error_retry option
* async chords should pass it's kwargs to the group/body.
* Fix honor Django's TIME_ZONE setting.
* Remove Python 3.4 compatibility code.
* Use importlib instead of deprecated pkg_resources.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=156
- Update to version 5.2.7
* Depend on the maintained python-consul2 library. (#6544).
* Use result_chord_join_timeout instead of hardcoded default value.
* Upgrade AzureBlockBlob storage backend to use Azure blob storage
library v12 (#6580).
* Exit celery with non zero exit value if failing (#6602).
* Raise BackendStoreError when set value is too large for Redis.
* Trace task optimizations are now set via Celery app instance.
* Add store_eager_result setting so eager tasks can store result on
the result backend (#6614).
* Allow heartbeats to be sent in tests (#6632).
* Simulate more exhaustive delivery info in apply().
* Start chord header tasks as soon as possible (#6576).
* --quiet flag now actually makes celery avoid producing logs
(#6599).
* Update platforms.py "superuser privileges" check (#6600).
* fnmatch.translate() already translates globs for us. (#6668).
* Upgrade some syntax to Python 3.6+.
* Fix checking expiration of X.509 certificates (#6678).
* Fix JSON decoding errors when using MongoDB as backend (#6675).
* Allow configuration of RedisBackend's health_check_interval
(#6666).
* Tasks can now have required kwargs at any order (#6699).
* Initial support of python 3.9 added.
* Add Python 3.10 support (#6807).
* Fix docstring for Signal.send to match code (#6835).
* Chords get body_type independently to handle cases where body.type
does not exist (#6847).
* Fix multithreaded backend usage (#6851).
* Fix Open Collective donate button (#6848).
OBS-URL: https://build.opensuse.org/request/show/989213
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=147
* Fix _autodiscover_tasks_from_fixups (#6424).
* Flush worker prints, notably the banner (#6432).
* Breaking Change: Remove ha_policy from queue definition. (#6440)
* This argument has no effect since RabbitMQ 3.0. Therefore, We feel
comfortable dropping it in a patch release.
* Python 3.9 support (#6418).
* Regression: When using the prefork pool, pick the fair scheduling strategy
by default (#6447).
* Preserve callbacks when replacing a task with a chain (#6189).
* Fix max_retries override on self.retry() (#6436).
* Raise proper error when replacing with an empty chain (#6452)
* Specify UTF-8 as the encoding for log files (#6357).
* Custom headers now propagate when using the protocol 1 hybrid messages
(#6374).
* Retry creating the database schema for the database results backend in case of a race condition (#6298).
* When using the Redis results backend, awaiting for a chord no longer hangs
when setting :setting:`result_expires` to 0 (#6373).
* When a user tries to specify the app as an option for the subcommand, a
custom error message is displayed (#6363).
* Fix the --without-gossip, --without-mingle, and --without-heartbeat options
which now work as expected. (#6365)
* Provide a clearer error message when the application cannot be loaded.
* Avoid printing deprecation warnings for settings when they are loaded from
Django settings (#6385).
* Allow lowercase log levels for the --loglevel option (#6388).
* Detaching now works as expected (#6401).
* Restore broadcasting messages from celery control (#6400).
* Pass back real result for single task chains (#6411).
* Ensure group tasks a deeply serialized (#6342).
* Fix chord element counting (#6354).
* Restore the celery shell command (#6421).
* Breaking Change Remove AMQP result backend (#6360).
* Warn when deprecated settings are used (#6353).
* Expose retry_policy for Redis result backend (#6330).
* Prepare Celery to support the yet to be released Python 3.9 (#6328).
* More cleanups of leftover Python 2 support (#6338).
* Bump minimum required eventlet version to 0.26.1.
* Update Couchbase Result backend to use SDK V3.
* Restore monkeypatching when gevent or eventlet are used.
* Allow to opt out of ordered group results when using the Redis result
backend (#6290).
* Breaking Change Remove the deprecated celery.utils.encoding module.
* Breaking Change Drop support for the Riak result backend (#5686).
* Breaking Change pytest plugin is no longer enabled by default (#6288).
Install pytest-celery to enable it.
* Breaking Change Brand new CLI based on Click (#5718).
* Bump Kombu version to 5.0 (#5686).
* Removed most of the compatibility code that supports Python 2 (#5686).
* Modernized code to work on Python 3.6 and above (#5686).
- Update BuildRequires/Requires.
- Add patch move-pytest-configuration-to-conftest.patch to fix testsuite.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=137
- Don't update to 5.0.0 because missing dependencies
- Update to version 4.4.7
+ Add task_received, task_rejected and task_unknown to signals
module.
+ [ES backend] add 401 as safe for retry.
+ treat internal errors as failure.
+ Remove redis fanout caveats.
+ FIX: -A and --args should behave the same. (#6223)
+ Class-based tasks autoretry (#6233)
+ Preserve order of group results with Redis result backend
(#6218)
+ Replace future with celery.five Fixes#6250, and reraise to
include
+ Fix REMAP_SIGTERM=SIGQUIT not working
+ (Fixes#6258) MongoDB: fix for serialization issue (#6259)
+ Make use of ordered sets in Redis opt-in
+ Test, CI, Docker, style and minor doc impovements.
OBS-URL: https://build.opensuse.org/request/show/838603
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=134
- Update to 3.1.19:
* Requirements: Now depends on Kombu 3.0.29.
* Requirements: Now depends on billiard 3.3.0.21.
* Results: Fixed MongoDB result backend URL parsing problem
(Issue celery/kombu#375).
* Worker: Task request now properly sets priority in
delivery_info.
* Beat: PyPy shelve may raise KeyError when setting keys (Issue
#2862).
* Programs: celery beat --deatched now working on PyPy.
* Results: Redis result backend now ensures all pipelines are
cleaned up.
* Results: Redis result backend now allows for timeout to be set
in the query portion of the result backend URL.
* Results: result.get now properly handles failures where the
exception value is set to None (Issue #2560).
* Prefork pool: Fixed attribute error proc.dead.
* Worker: Fixed worker hanging when gossip/heartbeat disabled
(Issue #1847).
* Results: MongoDB result backend now supports pymongo 3.x (Issue
#2744).
* Results: RPC/amqp backends did not deserialize exceptions
properly (Issue #2691).
* Programs: Fixed problem with celery amqp‘s basic_publish (Issue
#2013).
* Worker: Embedded beat now properly sets app for thread/process
(Issue #2594).
* Documentation: Many improvements and typos fixed.
OBS-URL: https://build.opensuse.org/request/show/353455
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=91
- Now depends on billiard 2.7.3.28
- A Python 3 related fix managed to disable the deadlock fix
announced in 3.0.18.
Tests have been added to make sure this does not happen again.
- Task retry policy: Default max_retries is now 3.
This ensures clients will not be hanging while the broker is down.
You can set a longer retry for the worker by
using the celeryd_after_setup signal:
from celery.signals import celeryd_after_setup
@celeryd_after_setup.connect
def configure_worker(instance, conf, **kwargs):
conf.CELERY_TASK_PUBLISH_RETRY_POLICY = {
'max_retries': 100,
'interval_start': 0,
'interval_max': 1,
'interval_step': 0.2,
}
- Worker: Will now properly display message body in error messages
even if the body is a buffer instance.
- 3.0.18 broke the MongoDB result backend (Issue #1303).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=79
- Now depends on kombu 2.5.10.
See the kombu changelog.
- Now depends on billiard 2.7.3.27.
- Can now specify a whitelist of accepted serializers using
the new CELERY_ACCEPT_CONTENT setting.
This means that you can force the worker to discard messages
serialized with pickle and other untrusted serializers.
For example to only allow JSON serialized messages use::
CELERY_ACCEPT_CONTENT = ['json']
you can also specify MIME types in the whitelist::
CELERY_ACCEPT_CONTENT = ['application/json']
- Fixed deadlock in multiprocessing's pool caused by the
semaphore not being released when terminated by signal.
- Processes Pool: It's now possible to debug pool processes using GDB.
- celery report now censors possibly secret settings, like passwords
and secret tokens.
You should still check the output before pasting anything
on the internet.
- Connection URLs now ignore multiple '+' tokens.
- Worker/statedb: Now uses pickle protocol 2 (Py2.5+)
- Fixed Python 3 compatibility issues.
- Worker: A warning is now given if a worker is started with the
same node name as an existing worker.
- Worker: Fixed a deadlock that could occur while revoking tasks (Issue #1297).
- Worker: The :sig:`HUP` handler now closes all open file descriptors
before restarting to ensure file descriptors does not leak (Issue #1270).
- Worker: Optimized storing/loading the revoked tasks list (Issue #1289).
After this change the --statedb file will take up more disk space,
but loading from and storing the revoked tasks will be considerably
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-celery?expand=0&rev=78