What’s new in Celery 4.1 (latentcall) — Python documentation

From Get docs
Celery/docs/latest/history/whatsnew-4.1

What’s new in Celery 4.1 (latentcall)

Author
Omer Katz (omer.drow at gmail.com)

Change history

What’s new documents describe the changes in major versions, we also have a Change history that lists the changes in bugfix releases (0.0.x), while older series are archived under the History section.

Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system.

It’s a task queue with focus on real-time processing, while also supporting task scheduling.

Celery has a large and diverse community of users and contributors, you should come join us on IRC or our mailing-list.

To read more about Celery you should go read the introduction.

While this version is backward compatible with previous versions it’s important that you read the following section.

This version is officially supported on CPython 2.7, 3.4, 3.5 & 3.6 and is also supported on PyPy.

Table of Contents

Make sure you read the important notes before upgrading to this version.


Preface

The 4.1.0 release continues to improve our efforts to provide you with the best task execution platform for Python.

This release is mainly a bug fix release, ironing out some issues and regressions found in Celery 4.0.0.

We added official support for Python 3.6 and PyPy 5.8.0.

This is the first time we release without Ask Solem as an active contributor. We’d like to thank him for his hard work in creating and maintaining Celery over the years.

Since Ask Solem was not involved there were a few kinks in the release process which we promise to resolve in the next release. This document was missing when we did release Celery 4.1.0. Also, we did not update the release codename as we should have. We apologize for the inconvenience.

For the time being, I, Omer Katz will be the release manager.

Thank you for your support!

— Omer Katz

Wall of Contributors

Acey <[email protected]> Acey9 <[email protected]> Alan Hamlett <[email protected]> Alan Justino da Silva <[email protected]> Alejandro Pernin <[email protected]> Alli <[email protected]> Andreas Pelme <[email protected]> Andrew de Quincey <[email protected]> Anthony Lukach <[email protected]> Arcadiy Ivanov <[email protected]> Arnaud Rocher <[email protected]> Arthur Vigil <[email protected]> Asif Saifuddin Auvi <[email protected]> Ask Solem <[email protected]> BLAGA Razvan-Paul <[email protected]> Brendan MacDonell <[email protected]> Brian Luan <[email protected]> Brian May <[email protected]> Bruno Alla <[email protected]> Chris Kuehl <[email protected]> Christian <[email protected]> Christopher Hoskin <[email protected]> Daniel Hahler <[email protected]> Daniel Huang <[email protected]> Derek Harland <[email protected]> Dmytro Petruk <[email protected]> Ed Morley <[email protected]> Eric Poelke <[email protected]> Felipe <[email protected]> François Voron <[email protected]> GDR! <[email protected]> George Psarakis <[email protected]> J Alan Brogan <[email protected]> James Michael DuPont <[email protected]> Jamie Alessio <[email protected]> Javier Domingo Cansino <[email protected]> Jay McGrath <[email protected]> Jian Yu <[email protected]> Joey Wilhelm <[email protected]> Jon Dufresne <[email protected]> Kalle Bronsen <[email protected]> Kirill Romanov <[email protected]> Laurent Peuch <[email protected]> Luke Plant <[email protected]> Marat Sharafutdinov <[email protected]> Marc Gibbons <[email protected]> Marc Hörsken <[email protected]> Michael <[email protected]> Michael Howitz <[email protected]> Michal Kuffa <[email protected]> Mike Chen <[email protected]> Mike Helmick <[email protected]> Morgan Doocy <[email protected]> Moussa Taifi <[email protected]> Omer Katz <[email protected]> Patrick Cloke <[email protected]> Peter Bittner <[email protected]> Preston Moore <[email protected]> Primož Kerin <[email protected]> Pysaoke <[email protected]> Rick Wargo <[email protected]> Rico Moorman <[email protected]> Roman Sichny <[email protected]> Ross Patterson <[email protected]> Ryan Hiebert <[email protected]> Rémi Marenco <[email protected]> Salvatore Rinchiera <[email protected]> Samuel Dion-Girardeau <[email protected]> Sergey Fursov <[email protected]> Simon Legner <[email protected]> Simon Schmidt <[email protected]> Slam <[email protected]> Static <[email protected]> Steffen Allner <[email protected]> Steven <[email protected]> Steven Johns <[email protected]> Tamer Sherif <[email protected]> Tao Qingyun <[email protected]> Tayfun Sen <[email protected]> Taylor C. Richberger <[email protected]> Thierry RAMORASOAVINA <[email protected]> Tom ‘Biwaa’ Riat <[email protected]> Viktor Holmqvist <[email protected]> Viraj <[email protected]> Vivek Anand <[email protected]> Will <[email protected]> Wojciech Żywno <[email protected]> Yoichi NAKAYAMA <[email protected]> YuLun Shih <[email protected]> Yuhannaa <[email protected]> abhinav nilaratna <[email protected]> aydin <[email protected]> csfeathers <[email protected]> georgepsarakis <[email protected]> orf <[email protected]> shalev67 <[email protected]> sww <[email protected]> tnir <[email protected]> 何翔宇(Sean Ho) <[email protected]>

Note

This wall was automatically generated from git history, so sadly it doesn’t not include the people who help with more important things like answering mailing-list questions.


Important Notes

Added support for Python 3.6 & PyPy 5.8.0

We now run our unit test suite and integration test suite on Python 3.6.x and PyPy 5.8.0.

We expect newer versions of PyPy to work but unfortunately we do not have the resources to test PyPy with those versions.

The supported Python Versions are:

  • CPython 2.7
  • CPython 3.4
  • CPython 3.5
  • CPython 3.6
  • PyPy 5.8 (pypy2)


News

Result Backends

New DynamoDB Results Backend

We added a new results backend for those of you who are using DynamoDB.

If you are interested in using this results backend, refer to AWS DynamoDB backend settings for more information.


Elasticsearch

The Elasticsearch results backend is now more robust and configurable.

See Elasticsearch backend settings for more information about the new configuration options.


Redis

The Redis results backend can now use TLS to encrypt the communication with the Redis database server.

See Redis backend settings.


MongoDB

The MongoDB results backend can now handle binary-encoded task results.

This was a regression from 4.0.0 which resulted in a problem using serializers such as MsgPack or Pickle in conjunction with the MongoDB results backend.


Periodic Tasks

The task schedule now updates automatically when new tasks are added. Now if you use the Django database scheduler, you can add and remove tasks from the schedule without restarting Celery beat.


Tasks

The disable_sync_subtasks argument was added to allow users to override disabling synchronous subtasks.

See Avoid launching synchronous subtasks


Canvas

Multiple bugs were resolved resulting in a much smoother experience when using Canvas.