从 Redis 后端删除所有 Celery 结果



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

相关内容

  • 没有找到相关文章

最新更新