在Celery运行之后,Redis仍有数据

时间:2017-11-08 16:12:04

标签: redis celery

我已经设置了一个Celery任务,它使用RabbitMQ作为代理,Redis作为后端。运行后我注意到我的Redis服务器仍在使用大量内存。经过检查,我发现每个创建的任务仍然存在密钥。

有没有办法让Celery在收到回复后才清理这些密钥?我知道一些MessageBrokers使用acks,在Celery中是否有相同的redis后端?

2 个答案:

答案 0 :(得分:0)

是的,请使用result_expires。请注意芹菜节拍也应该运行,如文档中所述:

  

内置的定期任务将在此时间后删除结果(celery.backend_cleanup),假设启用了芹菜节拍。该任务每天凌晨4点运行。

答案 1 :(得分:0)

不幸的是,Celery的后端并没有使用它,因此我的项目的最佳解决方案就是在完成之后忘记我的回复。