管理芹菜任务结果

jwa*_*ech 6 python task-queue redis celery

我对Celery来说还很陌生,我想我已经读到某处内容,说明任务结果只在有限的时间内存在。但是,我的后端(redis)在通过它运行许多任务后变得非常肿。

有没有一种方法可以在任务结果上设置TTL,或者这是我需要手动清除(以及如何清除)的东西?

小智 9

根据celery文档,您可以使用完全忽略所有结果CELERY_IGNORE_RESULT

您还可以使用CELERY_TASK_RESULT_EXPIRES,在设定的时间后使结果过期,该时间默认为1天。在注释中,它说这应该只与redis后端一起使用,而其他一些后端则需要celery beat运行。

CELERY_MAX_CACHED_RESULTS默认情况下,还有一项设置最多可缓存5,000个结果。