python - 管理 Celery 任务结果

标签 python redis celery task-queue

我对 Celery 很陌生,我以为我在某处读到过任务结果只会在有限的时间内保留。但是,在通过它运行大量任务后,我的后端 (redis) 变得非常臃肿。

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

最佳答案

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

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

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

关于python - 管理 Celery 任务结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29041103/

相关文章:

hash - 在 LRU 上删除 Redis Hash Key 的字段

python - 在 celery 中对 AsyncResult 进行单元测试

python - Celery worker 变量共享问题

python - celery 优先队列

python - 无法在 PyCharm 中安装 PyTorch (Python 3.9/macOS)

python - 连接两个 numpy 数组 channel

Python:合并两个字典列表

azure - 在 Azure Redis 缓存中安装 RediSearch

python - 如何在 Keras Lambda 层中使用 OpenCV 函数?

redis - 如何在编辑器上运行 redis?