Рабочий сельдерей не повторяет задачу после вызова повторной попытки()

У меня есть задача:

    @celery.task(name='request_task',default_retry_delay=2,acks_late=True)
    def request_task(data):
        try:
            if some_condition:
                request_task.retry()
        except Exception as e:
            request_task.retry()

Я использую сельдерей с включенным брокером mongodb и бэкэндом результатов mongodb.

Когда вызывается метод повтора ()задачи, ни из условного оператора, ни после перехвата исключения, задача не повторяется.

в рабочем терминале я получаю такое сообщение:

[2012-08-10 19:21:54,909: INFO/MainProcess] Task request_task[badb3131-8964-41b5-90a7-245a8131e68d] retry: Task can be retried

Что может быть не так?

ОБНОВЛЕНИЕ:Наконец, я не решил этот вопрос, и мне пришлось использовать цикл while внутри задачи, поэтому мои задачи никогда не повторяются.

9
задан tshepang 13 June 2014 в 15:21
поделиться