I do retries with celery like in the Docs-Example:
@task() def add(x, y): try: ... except Exception, exc: add.retry(exc=exc, countdow
Keep a variable with your last retry time in it, and multiply it by 2 each time until it exceeds whatever level you want (or, keep a count if you prefer a certain number of times...)