Support reusing evaluated signatures
Author: davemtCreated Jul 30, 2012Updated Sep 12, 2026
LabelsIssue Type: Feature RequestComponent: Canvas
Consider the following (where A, B, C, D, E are tasks):
sub_A = A.s()
chord_D = chord([sub_A, B.s()], D.s())
chord_E = chord([sub_A, C.s()], E.s())
res = group(chord_D, chord_E)()This creates two separate invocations for task A. For many cases, we would want the subtask for A to be invoked just once, and the work shared.
It seems that manually giving the subtask a uuid leads to the desired outcome, but it would be nice to have support for this in the API.
Source: celery/celery