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