Повторить задачи Celery с экспоненциальным отставанием

Для такой задачи:

from celery.decorators import task

@task()
def add(x, y):
    if not x or not y:
        raise Exception("test error")
    return self.wait_until_server_responds(

если выдает ошибку исключение, и я хочу повторить его со стороны демона, как можно применить алгоритм экспоненциального отката, то есть после 2 ^ 2, 2 ^ 3,2 ^ 4 и т. д. секунд?

Также повторная попытка поддерживается со стороны сервера, так что если рабочий будет убит, то следующий рабочий, который появится, возьмет на себя задачу повторной попытки?

65
задан tshepang 14 June 2014 в 10:47
поделиться