我对芹菜很陌生,我想我在某处读到过任务结果只在有限的时间内存在。 然而,我的后端(redis)在通过它运行大量任务后变得非常臃肿。
有没有办法在任务结果上设置 TTL,或者这是我需要手动清除(以及如何清除)的东西?
根据芹菜文档,您可以使用 CELERY_IGNORE_RESULT
完全忽略所有结果。
您还可以使用 CELERY_RESULT_EXPIRES
在设定的时间量后使结果过期,默认为 1 天。在注释中,它说这应该只适用于 redis 后端,而其他一些后端需要 celery beat
才能运行。
还有CELERY_MAX_CACHED_RESULTS
设置,默认情况下最多可缓存 5,000 个结果。