管理 Celery 任务结果
Posted
技术标签:
【中文标题】管理 Celery 任务结果【英文标题】:Managing Celery Task Results 【发布时间】:2015-05-16 11:00:33 【问题描述】:我对 Celery 很陌生,我以为我在某个地方读到过任务结果只会在有限的时间内保留。然而,我的后端(redis)在通过它运行了很多任务后变得相当臃肿。
有没有办法在任务结果上设置 TTL,还是我需要手动清除(以及如何)?
【问题讨论】:
【参考方案1】:根据 celery 文档,您可以使用 CELERY_IGNORE_RESULT
完全忽略所有结果。
您还可以使用CELERY_RESULT_EXPIRES
(默认为 1 天)在一定时间后使结果过期。在注释中它说这应该只适用于 redis 后端,而其他一些后端需要celery beat
才能运行。
还有CELERY_MAX_CACHED_RESULTS
设置默认缓存多达 5,000 个结果。
【讨论】:
CELERY_TASK_RESULT_EXPIRES
实际上应该是 CELERY_RESULT_EXPIRES
。 docs.celeryproject.org/en/stable/userguide/configuration.html以上是关于管理 Celery 任务结果的主要内容,如果未能解决你的问题,请参考以下文章