def amass(results, tasks):
    completed_tasks = []
for task in tasks:
    if task.ready():
        completed_tasks.append(task)
results.append(task.get())
tasks = list(set(tasks) - set(completed_tasks))
if len(tasks) > 0:
    amass.delay(results, tasks, countdown=1)
else:
    print(results)
Running a task after all tasks have been completed