This document describes the current stable version of Celery (4.4). For development docs, go here.
Change history¶
4.1.1¶
release-date: | 2018-05-21 12:48 PM PST |
---|---|
release-by: | Omer Katz |
Important
Please upgrade as soon as possible or pin Kombu to 4.1.0.
- Breaking Change: The module async in Kombu changed to asynchronous.
Contributed by Omer Katz & Asif Saifuddin Auvi
4.1.0¶
release-date: | 2017-07-25 00:00 PM PST |
---|---|
release-by: | Omer Katz |
- Configuration: CELERY_SEND_EVENTS instead of CELERYD_SEND_EVENTS for 3.1.x compatibility (#3997)
Contributed by abhinav nilaratna.
- App: Restore behavior so Broadcast queues work. (#3934)
Contributed by Patrick Cloke.
- Sphinx: Make appstr use standard format (#4134) (#4139)
Contributed by Preston Moore.
- App: Make id, name always accessible from logging.Formatter via extra (#3994)
Contributed by Yoichi NAKAYAMA.
- Worker: Add worker_shutting_down signal (#3998)
Contributed by Daniel Huang.
- PyPy: Support PyPy version 5.8.0 (#4128)
Contributed by Omer Katz.
- Results: Elasticsearch: Fix serializing keys (#3924)
Contributed by @staticfox.
- Canvas: Deserialize all tasks in a chain (#4015)
Contributed by @fcoelho.
- Systemd: Recover loglevel for ExecStart in systemd config (#4023)
Contributed by Yoichi NAKAYAMA.
- Sphinx: Use the Sphinx add_directive_to_domain API. (#4037)
Contributed by Patrick Cloke.
- App: Pass properties to before_task_publish signal (#4035)
Contributed by Javier Domingo Cansino.
- Results: Add SSL option for Redis backends (#3831)
Contributed by Chris Kuehl.
- Beat: celery.schedule.crontab: fix reduce (#3826) (#3827)
Contributed by Taylor C. Richberger.
- State: Fix celery issues when using flower REST API
Contributed by Thierry RAMORASOAVINA.
- Results: Elasticsearch: Fix serializing document id.
Contributed by Acey9.
- Beat: Make shallow copy of schedules dictionary
Contributed by Brian May.
- Beat: Populate heap when periodic tasks are changed
Contributed by Wojciech Żywno.
- Task: Allow class methods to define tasks (#3952)
Contributed by georgepsarakis.
- Platforms: Always return boolean value when checking if signal is supported (#3962).
Contributed by Jian Yu.
- Canvas: Avoid duplicating chains in chords (#3779)
Contributed by Ryan Hiebert.
- Canvas: Lookup task only if list has items (#3847)
Contributed by Marc Gibbons.
- Results: Allow unicode message for exception raised in task (#3903)
Contributed by George Psarakis.
- Python3: Support for Python 3.6 (#3904, #3903, #3736)
Contributed by Jon Dufresne, George Psarakis, Asif Saifuddin Auvi, Omer Katz.
- App: Fix retried tasks with expirations (#3790)
Contributed by Brendan MacDonell.
- Fixes items format route in docs (#3875)
Contributed by Slam.
- Utils: Fix maybe_make_aware (#3850)
Contributed by Taylor C. Richberger.
- Task: Fix task ETA issues when timezone is defined in configuration (#3867)
Contributed by George Psarakis.
- Concurrency: Consumer does not shutdown properly when embedded in gevent application (#3746)
Contributed by Arcadiy Ivanov.
- Canvas: Fix #3725: Task replaced with group does not complete (#3731)
Contributed by Morgan Doocy.
- Task: Correct order in chains with replaced tasks (#3730)
Contributed by Morgan Doocy.
- Result: Enable synchronous execution of sub-tasks (#3696)
Contributed by shalev67.
- Task: Fix request context for blocking task apply (added hostname) (#3716)
Contributed by Marat Sharafutdinov.
- Utils: Fix task argument handling (#3678) (#3693)
Contributed by Roman Sichny.
- Beat: Provide a transparent method to update the Scheduler heap (#3721)
Contributed by Alejandro Pernin.
- Beat: Specify default value for pidfile option of celery beat. (#3722)
Contributed by Arnaud Rocher.
- Results: Elasticsearch: Stop generating a new field every time when a new result is being put (#3708)
Contributed by Mike Chen.
Requirements
- Now depends on Kombu 4.1.0.
Results: Elasticsearch now reuses fields when new results are added.
Contributed by Mike Chen.
Results: Fixed MongoDB integration when using binary encodings (Issue #3575).
Contributed by Andrew de Quincey.
Worker: Making missing
*args
and**kwargs
in Task protocol 1 return empty value in protocol 2 (Issue #3687).Contributed by Roman Sichny.
App: Fixed
TypeError
in AMQP when using deprecated signal (Issue #3707).Contributed by @michael-k.
Beat: Added a transparent method to update the scheduler heap.
Contributed by Alejandro Pernin.
Task: Fixed handling of tasks with keyword arguments on Python 3 (Issue #3657).
Contributed by Roman Sichny.
Task: Fixed request context for blocking task apply by adding missing hostname attribute.
Contributed by Marat Sharafutdinov.
Task: Added option to run subtasks synchronously with
disable_sync_subtasks
argument.Contributed by @shalev67.
App: Fixed chaining of replaced tasks (Issue #3726).
Contributed by Morgan Doocy.
Canvas: Fixed bug where replaced tasks with groups were not completing (Issue #3725).
Contributed by Morgan Doocy.
Worker: Fixed problem where consumer does not shutdown properly when embedded in a gevent application (Issue #3745).
Contributed by Arcadiy Ivanov.
Results: Added support for using AWS DynamoDB as a result backend (#3736).
Contributed by George Psarakis.
Testing: Added caching on pip installs.
Contributed by @orf.
Worker: Prevent consuming queue before ready on startup (Issue #3620).
Contributed by Alan Hamlett.
App: Fixed task ETA issues when timezone is defined in configuration (Issue #3753).
Contributed by George Psarakis.
Utils:
maybe_make_aware
should not modify datetime when it is already timezone-aware (Issue #3849).Contributed by Taylor C. Richberger.
App: Fixed retrying tasks with expirations (Issue #3734).
Contributed by Brendan MacDonell.
Results: Allow unicode message for exceptions raised in task (Issue #3858).
Contributed by @staticfox.
Canvas: Fixed
IndexError
raised when chord has an empty header.Contributed by Marc Gibbons.
Canvas: Avoid duplicating chains in chords (Issue #3771).
Contributed by Ryan Hiebert and George Psarakis.
Utils: Allow class methods to define tasks (Issue #3863).
Contributed by George Psarakis.
Beat: Populate heap when periodic tasks are changed.
Contributed by @wzywno and Brian May.
Results: Added support for Elasticsearch backend options settings.
Contributed by @Acey9.
Events: Ensure
Task.as_dict()
works when not all information about task is available.Contributed by @tramora.
Schedules: Fixed pickled crontab schedules to restore properly (Issue #3826).
Contributed by Taylor C. Richberger.
Results: Added SSL option for redis backends (Issue #3830).
Contributed by Chris Kuehl.
Documentation and examples improvements by:
- Bruno Alla
- Jamie Alessio
- Vivek Anand
- Peter Bittner
- Kalle Bronsen
- Jon Dufresne
- James Michael DuPont
- Sergey Fursov
- Samuel Dion-Girardeau
- Daniel Hahler
- Mike Helmick
- Marc Hörsken
- Christopher Hoskin
- Daniel Huang
- Primož Kerin
- Michal Kuffa
- Simon Legner
- Anthony Lukach
- Ed Morley
- Jay McGrath
- Rico Moorman
- Viraj Navkal
- Ross Patterson
- Dmytro Petruk
- Luke Plant
- Eric Poelke
- Salvatore Rinchiera
- Arnaud Rocher
- Kirill Romanov
- Simon Schmidt
- Tamer Sherif
- YuLun Shih
- Ask Solem
- Tom ‘Biwaa’ Riat
- Arthur Vigil
- Joey Wilhelm
- Jian Yu
- YuLun Shih
- Arthur Vigil
- Joey Wilhelm
- @baixuexue123
- @bronsen
- @michael-k
- @orf
- @3lnc