在 Python/Django 上使用 Redis 的 Celery 不填充任何 Redis 列表

问题描述

我有一个相当简单的问题 - 我的印象是 Celery(使用 Redis认将每个任务推送到名为“celery”的 Redis 列表中。

我希望能够看到这个 Redis 列表以便在其他应用程序中使用它(以查看任务长度),但是当我查看我的 Redis 队列以查看“芹菜”Redis 列表的长度时(假设我的任务在那个队列中启动),它不在那里。

注意:在端口 3780 上使用 Docker 和 Redis Image 5.0(将其与我的 Django 应用程序的其余部分隔离)

根据这个:https://stackoverflow.com/a/43420719/10112899 我应该能够查询我指定的 celery 队列的长度(认 = celery),但它不存在!

这是 Redis CLI 给我的:

enter image description here

问题:用于 Django 和 Python 的 Celery 是否根本不使用 Redis 列表?

解决方法

Celery 确实使用了 Redis LIST/ZSET,但有一些事情需要记住。如果任何集合为空,那么 Redis 会删除该键,因此如果您推送几个条目,那么您应该能够识别队列。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...