
作业队列库的Prometheus指标导出器。
、作业状态(rq_jobs)等核心指标rq_request_processing_seconds系列指标)拉取Docker镜像
console# 拉取最新镜像 docker pull mdawar/rq-exporter # 或拉取特定版本 docker pull mdawar/rq-exporter:v1.0.0
镜像标签与https://hub.docker.com/r/mdawar/rq-exporter/tags%E5%AF%B9%E5%BA%94%E3%80%82
运行容器并暴露端口
console# 交互式运行,映射主机9726端口 docker run -it -p 9726:9726 mdawar/rq-exporter # 后台运行( detached 模式) docker run -d -p 9726:9726 mdawar/rq-exporter
指定Redis连接参数
console# 通过Redis URL连接 docker run -it -p 9726:9726 mdawar/rq-exporter --redis-url redis://:123456@redis_host:6379/0 # 通过主机、端口、密码等参数连接 docker run -it -p 9726:9726 mdawar/rq-exporter --redis-host 192.168.1.10 --redis-port 6380 --redis-pass 123456 --redis-db 1 # 通过密码文件连接(如Docker Secrets) docker run -it -p 9726:9726 -v /run/secrets/redis_pass:/run/secrets/redis_pass mdawar/rq-exporter --redis-pass-file /run/secrets/redis_pass
指定监听地址和端口
console# 监听本地地址和8080端口 docker run -it -p 8080:8080 mdawar/rq-exporter --host localhost --port 8080
使用环境变量配置
consoledocker run -it -p 9726:9726 \ -e RQ_REDIS_HOST=redis \ -e RQ_REDIS_PASS=123456 \ -e RQ_EXPORTER_PORT=9726 \ mdawar/rq-exporter
| CLI参数 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--host | RQ_EXPORTER_HOST | 0.0.0.0 | 导出器监听主机 |
-p, --port | RQ_EXPORTER_PORT | 9726 | 导出器监听端口 |
--redis-url | RQ_REDIS_URL | None | Redis URL,格式:redis://:[密码]@[主机]:[端口]/[数据库] |
--redis-host | RQ_REDIS_HOST | localhost | Redis主机名 |
--redis-port | RQ_REDIS_PORT | 6379 | Redis端口 |
--redis-db | RQ_REDIS_DB | 0 | Redis数据库编号 |
--redis-pass | RQ_REDIS_PASS | None | Redis密码 |
--redis-pass-file | RQ_REDIS_PASS_FILE | None | Redis密码文件路径(如Docker Secrets挂载路径) |
--worker-class | RQ_WORKER_CLASS | rq.Worker | RQ工人类 |
--queue-class | RQ_QUEUE_CLASS | rq.Queue | RQ队列类 |
--log-level | RQ_EXPORTER_LOG_LEVEL | INFO | 日志级别 |
--log-format | RQ_EXPORTER_LOG_FORMAT | [%(asctime)s] [%(name)s] [%(levelname)s]: %(message)s | 日志格式字符串 |
--log-datefmt | RQ_EXPORTER_LOG_DATEFMT | %Y-%m-%d %H:%M:%S | 日志日期时间格式字符串 |
注意:
--redis-url或RQ_REDIS_URL设置Redis URL时,其他Redis选项(如--redis-host)将被忽略--redis-pass-file或RQ_REDIS_PASS_FILE设置密码文件时,--redis-pass和RQ_REDIS_PASS将被忽略yamlversion: '3' services: rq-exporter: image: mdawar/rq-exporter:latest ports: - "9726:9726" environment: - RQ_REDIS_HOST=redis - RQ_REDIS_PORT=6379 - RQ_REDIS_DB=0 - RQ_REDIS_PASS=123456 - RQ_EXPORTER_LOG_LEVEL=INFO depends_on: - redis redis: image: redis:alpine command: redis-server --requirepass 123456 ports: - "6379:6379"
RQ核心指标
| 指标名称 | 类型 | 标签 | 描述 |
|---|---|---|---|
rq_workers | Gauge | name(工人名称), queues(负责队列), state(状态:idle/busy等) | RQ工人状态 |
rq_jobs | Gauge | queue(队列名称), status(状态:queued/started/finished/failed/deferred/scheduled等) | 按队列和状态分类的RQ作业数量 |
请求处理指标
| 指标名称 | 类型 | 描述 |
|---|---|---|
rq_request_processing_seconds_count | Summary | RQ数据收集次数 |
rq_request_processing_seconds_sum | Summary | RQ数据收集总耗时(秒) |
rq_request_processing_seconds_created | Gauge | 指标创建时间(time.time()返回值) |
指标示例
# HELP rq_workers RQ工人状态 # TYPE rq_workers gauge rq_workers{name="40d33ed9541644d79373765e661b7f38", queues="default", state="idle"} 1.0 rq_workers{name="fe9a433575e04685a53e4794b2eaeea9", queues="high,default,low", state="busy"} 1.0 # HELP rq_jobs 按队列和状态分类的RQ作业数量 # TYPE rq_jobs gauge rq_jobs{queue="default", status="queued"} 2.0 rq_jobs{queue="default", status="started"} 1.0 rq_jobs{queue="default", status="finished"} 5.0 rq_jobs{queue="default", status="failed"} 1.0
提供示例Grafana仪表板(ID: ***),可直接导入Grafana展示RQ监控数据。该仪表板包含工人状态分布、作业状态趋势、队列负载等面板。
注意:
可通过Gunicorn运行WSGI应用,提高并发处理能力:
console# 安装Gunicorn pip install gunicorn # 启动服务 gunicorn "rq_exporter:create_app()" -b 0.0.0.0:9726 --threads 2 --log-level info
Dockerfile示例(Gunicorn)
dockerfileFROM mdawar/rq-exporter:latest USER root RUN pip install --no-cache-dir gunicorn USER exporter ENTRYPOINT ["gunicorn", "rq_exporter:create_app()"] CMD ["-b", "0.0.0.0:9726", "--threads", "2", "--log-level", "info", "--keep-alive", "3"]
并发注意事项:
rq_request_processing_seconds系列指标会分散在不同进程,建议使用单进程多线程模式(--threads)处理并发请求,避免指标分散。console# 构建镜像并标记为rq-exporter:latest docker build -t rq-exporter .
也可通过Docker Compose构建:
consoledocker-compose build
使用Docker Compose启动完整开发环境(包含RQ工人、Prometheus、Grafana等):
console# 启动基础环境 docker-compose up # 启动多工人环境(需--compatibility支持deploy配置) docker-compose --compatibility up
可访问的服务端口:
97266379918190903000(默认登录:admin:admin)扩展工人和作业数量:
console# 启动5个工人 docker-compose up -d --scale worker=5 # 扩展工人和作业入队服务 docker-compose up -d --scale worker=5 --scale enqueue=2
清理开发环境:
console# -v选项删除卷数据 docker-compose down -v
consolepython -m unittest
git clone <FORK_URL>git checkout -b <分支名称>git commit -am "提交说明"git push origin <分支名称>您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务