25👍
✅
That is the point.
Forming a chain means your subtasks have some kind of serial dependency: Each one only makes sense if the previous one has been performed.
Without this, you would simply use queueing or use a group rather than a chain.
So if one subtask fails (and still fails after attempting all its retries), the chain fails.
I readily admit that the documentation (as of Celery 3.1.18) is far from explicit in this respect, but the name suggests this semantics:
“A chain is only as strong as its weakest link.”
Source:stackexchange.com