我是Celery的新手,我以为自己已经读过某个地方,任务结果只能在有限的时间内保持不变。然而,在通过它执行大量任务后,我的后端(redis)变得非常臃肿。
有没有办法在任务结果上设置TTL,还是我需要手动清除(以及如何)?
答案 0 :(得分:6)
根据芹菜文档,您可以使用CELERY_IGNORE_RESULT
完全忽略所有结果。
您还可以使用CELERY_TASK_RESULT_EXPIRES
在一段时间后过期结果,默认为1天。在笔记中,它说这应该只适用于redis后端,而其他一些后端需要celery beat
才能运行。
默认情况下,还有CELERY_MAX_CACHED_RESULTS
设置最多可缓存5,000个结果。