我有一个 Celery+Redis python 应用程序。
我必须找到队列中的任务数量。我尝试这个命令,但输出为零。 我确信队列不空。
redis-cli -n 1 -h localhost -p 6379 llen celery
(integer) 0
我认为我使用了无效的参数。 我的redis + celery配置:
celery:
build: ./project
command: celery -A core_app worker --loglevel=info --concurrency=15 --max-memory-per-child=1000000
volumes:
- ./project:/usr/src/app
- ./project/media:/project/media
- ./project/logs:/project/logs
env_file:
- .env
environment:
# environment variables declared in the environment section override env_file
- DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]
- CELERY_BROKER=redis://redis:6379/0
- CELERY_BACKEND=redis://redis:6379/0
depends_on:
- django
- redis
redis:
build:
context: ./redis_customization
dockerfile: Dockerfile
image: redis:7.2-alpine
restart: always
ports:
- 6379:6379
# Run the init script
command: sh -c "./init.sh"
# Run as privileged to allow the container to change the vm.overcommit_memory setting
privileged: true
您使用了
-n 1
参数,表示使用数据库编号 1。Redis 默认有 16 个数据库,编号从 0 到 15。如果您想使用第一个数据库,可能是 -n 0
而不是 -n 1
。请检查您的数据是否存储在1号数据库中。