Vue d'ensemble
Celery 5.2, publié le 2 janvier 2022, ajoute le support de Python 3.10 et améliore les primitives canvas pour l'orchestration de tâches.
Fonctionnalités principales
Support de Python 3.10
Celery 5.2 est pleinement compatible avec Python 3.10, corrigeant les problèmes liés aux changements dans le module collections et les nouvelles fonctionnalités du langage.
python
from celery import Celery
app = Celery('demo', broker='redis://localhost:6379/0')
@app.task
def additionner(x: int, y: int) -> int:
return x + y
# Appel asynchrone
result = additionner.delay(4, 6)
print(result.get(timeout=10)) # 10
Améliorations canvas
Les primitives canvas (chain, group, chord) sont plus robustes et supportent mieux les erreurs partielles dans les groupes de tâches.
python
from celery import chain, group, chord
# Chaîne de tâches
workflow = chain(
additionner.s(2, 3),
additionner.s(10),
) # (2+3) puis résultat+10 = 15
# Groupe parallèle avec callback
workflow = chord(
group(additionner.s(i, i) for i in range(5)),
additionner.s(0), # somme des résultats
)
