#893·celery

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.