芹菜任务历史记录



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

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

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

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

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

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

您可以使用 persisent 选项,例如: flower -A ctq.celery --persistent=True

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新