用DB后端清理芹菜任务

时间:2012-10-30 21:06:33

标签: celery django-celery

我正在努力了解如何以及何时清理芹菜中的任务。从the task docs看,我看到了:

  

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

但是这个引用来自RabbitMQ结果后端部分,我没有在数据库后端部分看到任何类似的文本。所以我的问题是:是否有一种后端不可知的方法我可以用芹菜进行旧任务清理,如果没有,我应该采取DB后端特定的方法吗?如果它有任何区别我正在使用django-celery。感谢。

1 个答案:

答案 0 :(得分:8)

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

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

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

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

处打开一个问题