11

我试图了解如何以及何时在芹菜中清理任务。通过查看任务文档,我看到:

旧结果将根据 CELERY_TASK_RESULT_EXPIRES 设置自动清除。默认情况下,这设置为 1 天后过期:如果您有一个非常繁忙的集群,您应该降低此值。

但是这句话来自 RabbitMQ Result Backend 部分,我在 Database Backend 部分看不到任何类似的文本。所以我的问题是:我是否可以采用与 celery 进行旧任务清理的后端不可知方法,如果没有,我应该采用特定于 DB Backend 的方法吗?以防我使用 django-celery 有什么不同。谢谢。

4

1 回答 1

10

如果单击 CELERY_TASK_RESULT_EXPIRES 设置文档的链接:

http://docs.celeryproject.org/en/latest/userguide/configuration.html#result-expires

它确实说数据库支持这一点,但是您需要运行 celery beat(有一个默认的定期任务,每天调用一次,以删除过期的结果)。

任务中的后端文档可能也应该提到这一点,也许也应该有一个专门的后端指南。如果您想为此游说,请在https://github.com/celery/celery/issues提出问题

于 2012-10-31T11:14:10.430 回答