class ProgressChord(chord):

    def __call__(self, body=None, **kwargs):
        _chord = self.Chord
body = (body or self.kwargs['body']).clone()
kwargs = dict(self.kwargs, body=body, **kwargs)
if _chord.app.conf.CELERY_ALWAYS_EAGER:
    return self.apply((), kwargs)
callback_id = body.options.setdefault('task_id', uuid())
r = _chord(**kwargs)
return _chord.AsyncResult(callback_id), r
How to track the progress of individual tasks inside a group which forms the header to a chord in celery?