统计docker中的redis队列长度

问题描述 投票:0回答:1

我有一个 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
python redis celery
1个回答
0
投票

您使用了

-n 1
参数,表示使用数据库编号 1。Redis 默认有 16 个数据库,编号从 0 到 15。如果您想使用第一个数据库,可能是
-n 0
而不是
-n 1
。请检查您的数据是否存储在1号数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.