我正在努力了解如何以及何时清理芹菜中的任务。从the task docs看,我看到了:
旧结果将根据自动清除 CELERY_TASK_RESULT_EXPIRES设置。默认情况下,此设置为过期 1天后:如果你有一个非常繁忙的群集,你应该降低它 值。
但是这个引用来自RabbitMQ结果后端部分,我没有在数据库后端部分看到任何类似的文本。所以我的问题是:是否有一种后端不可知的方法我可以用芹菜进行旧任务清理,如果没有,我应该采取DB后端特定的方法吗?如果它有任何区别我正在使用django-celery。感谢。
答案 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
处打开一个问题