celery has callback function, you could go to http://ask.github.com/celery/userguide/tasksets.html
from celery.task import task
from celery.task.sets import subtask
@task
def add(x, y, callback=None):
result = x + y
if callback is not None:
subtask(callback).delay(result)
return result