芹菜花Django

时间:2017-07-03 15:39:46

标签: django celery

我正在使用堆栈进行一些测试:Django,RabbitMQ,Celery和Flower。

一切都很顺利,但我们遇到了任务失败的问题,我知道他们无法从Flower网络界面重新启动(我是对的?),所以我开始了芹菜... < / p>

我的观点是,我有一个转储代码可以完成这项工作:

@app.task(max_retries=2, default_retry_delay = 1 * 1)
def debug_task():
    try:

        random_int = int(randint(0, 15))
        if random_int > 5:
            raise Exception ('> 5')
        else:
            print('Request: {0!r}'.format('OK'))


    except MaxRetriesExceededError:
        print('New queue')
        debug_task.apply_async(queue='failed_tasks')
    except Exception as exc:
        raise debug_task.retry(exc=exc)

它似乎有效,因为我在鲜花中看到的数字是&gt; 5,整个过程将再次执行,如屏幕截图所示:FLOWER

所以,现在我有一堆失败的任务,我需要“某些东西”来重新启动它们,执行并将结果交还给花,我做错了什么?

Failed Tasks

0 个答案:

没有答案