首页 > 解决方案 > Celery 存储结果多长时间,我可以限制这个时间吗

问题描述

我想使用带有 Redis 的 Сelere 作为后端,我将有一个进程来创建任务、存储 ID,然后再次运行并检查状态。如何清除我不再需要的结果和状态,我可以限制 Сelery 存储结果的时间吗?
像这样:

task_id = task.apply_async().id
store_id(task_id) # my code, doesn't relate to celery

然后我会得到任务并检查状态:

task_id = get_id() # my code, doesn't relate to celery
task = AsyncResult(task_id)
# do something with task
# now I don't need Celery to store this result

标签: celery

解决方案


Celery 默认将结果保存一天。

但是,您可以使用 调整此值result_expires

这是文档

默认值:1 天后过期。

删除存储的任务墓碑后的时间(以秒为单位,或 timedelta 对象)。


推荐阅读