【发布时间】:2021-11-26 17:44:23
【问题描述】:
我们有一个 (django) celery 设置,其中一个 redis db 作为代理,另一个作为结果后端。
当检查结果后端 redis 中的键时,我们看到 485K 类型的字符串键和 7 个无类型的键。密钥的一个示例是:celery-task-meta-26351389-c077-4ba6-8e34-66731f6636b3。我假设26351389-c077-4ba6-8e34-66731f6636b3 是任务ID。预计不会看到更复杂的类型吗?
- 已处理 376K
- 8K 失败
- 368K 成功
- 86次重试
当转到 /tasks?state=FAILURE 的失败视图时,我们只会看到 2 个失败的任务。当点击 UUID 时,我们会进入任务视图,例如 task/fdb7b30f-d9cf-4b60-a1b4-11d6aee241b3,我们会看到详细信息,包括 args、异常和跟踪。
当转到成功视图 /tasks?state=SUCCESS 时,我们看到 10K 条目。但是对于列表中最早的任务,相应的任务视图告诉我们Unknown task '377cc204-cb5e-41bc-9aa8-194679ac9bce'。对于以后的任务,我们会看到一些信息。
最终,结果后端 redis 使用了将近 500MB 内存,但似乎只能访问很少的信息。
有没有办法可以访问所有这些失败任务的详细信息? (可能会调整我们看起来有点损坏的设置)。
【问题讨论】:
标签: redis celery django-celery redis-py flower