Celery 中有什么方法可以通过命令行删除所有以前的任务结果吗?我能找到的所有参考资料都purge
,但这似乎不适用于任务结果。我发现的其他解决方案包括使用定期删除它的 Celery 节拍,但我正在寻找一次性命令行解决方案。
我使用芹菜 4.3.0。
我认为这是您正在寻找的内容:
https://github.com/celery/celery/issues/4656
引用
https://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-result_expires
我按如下方式设置:
RESULT_EXPIRE_TIME = 60 * 60 * 4 # keep tasks around for four hours
...
celery = celery.Celery('tasks',
broker=Config.BROKER_URL,
backend=Config.CELERY_RESULTS_BACKEND,
include=['tasks.definitions'],
result_expires=RESULT_EXPIRE_TIME)
所以基于这个答案:如何删除 Redis 中的所有内容?
使用 redis-cli:
FLUSHDB - Removes data from your connection's CURRENT database.
FLUSHALL - Removes data from ALL databases.
红与人文档:
flushdb
flushall
例如,在您的外壳中:
Redis-CLI 冲洗
并尝试清除芹菜。来自芹菜文档: http://docs.celeryproject.org/en/latest/faq.html?highlight=purge#how-do-i-purge-all-waiting-tasks