芹菜任务历史

bal*_*ldr 5 python celery flower

我正在构建一个在Celery框架之上执行任务的框架.

我想查看最近执行的任务列表(最近2-7天).

查看API我可以找到app.backend对象,但无法弄清楚如何进行查询以获取任务.

例如,我可以使用像Redis或数据库这样的后端.我不想显式地将SQL查询写入数据库.

有没有办法使用API​​处理任务历史/结果?

我尝试使用Flower,但它只能处理事件,并且在开始之前无法获取历史记录.

小智 5

您可以使用持久选项?例如: flower -A ctq.celery --persistent=True


mav*_*ato 4

您需要将任务结果保存在后端,例如Redis。Celery 文档包含有关如何执行此操作的信息:

http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html#keeping-results

您还需要设置CELERY_TASK_RESULT_EXPIRES配置参数,因为默认情况下结果会在一天后被丢弃。

如果您这样做,Flower 将向您显示任务执行的历史记录,无论它何时开始。