监控功能是 RQ 最闪耀的功能
RQ 监控最简单的方法可能是使用 RQ dashboard,
这是一个单独分发的工具,是专门为 RQ 提供的基于Web 的轻量级监视器前端,看起来像这样
安装
为了使用 RQ 控制面板,可以使用下面的命令来安装
$ pip install rq-dashboard
安装完成后就可以使用 rq-dashboard
命令来启动 RQ 控制面板了
rq-dashboard
当然了,我们可以很轻松的将它集成到我们的应用程序中
使用控制台命令监控 RQ
如果想要查看存在哪些队列以及哪些工作进程处于活动状态,只需键入 rq info
命令
$ rq info high |██████████████████████████ 20 low |██████████████ 12 default |█████████ 8 3 queues, 45 jobs total Bricktop.19233 idle: low Bricktop.19232 idle: high, default, low Bricktop.18349 idle: default 3 workers, 3 queues
根据队列名来查询数据
如果想要查看指定队列的数据,可以根据队列名来返回数据
$ rq info high default high |██████████████████████████ 20 default |█████████ 8 2 queues, 28 jobs total Bricktop.19232 idle: high, default Bricktop.18349 idle: default 2 workers, 2 queues
根据队列组织工作进程
默认情况下,rq info
命令只会输出当前处于活动状态的工作进程以及它们正在侦听的队列
$ rq info ... Mickey.26421 idle: high, default Bricktop.25458 busy: high, default, low Turkish.25812 busy: high, default 3 workers, 3 queues
如果要查看相同的数据,且根据队列组织,可以使用 -R
或 --by-queue
选项
$ rq info -R ... high: Bricktop.25458 (busy), Mickey.26421 (idle), Turkish.25812 (busy) low: Bricktop.25458 (busy) default: Bricktop.25458 (busy), Mickey.26421 (idle), Turkish.25812 (busy) failed: – 3 workers, 4 queues
间隔轮询
间隔轮询的意思是每隔一段时间访问一次数据
默认情况下,rq info
命令会输出统计信息并退出
$ rq info default | 0 1 queues, 0 jobs total lie.16080 ?: 1 workers, 1 queues Updated: 2018-07-13 20:47:56.502239
当然,我们可以添加 --interval
选项来指定轮询时间间隔,这样,rq info
命令就会每隔指定的时间输出一次统计信息
$ rq info --interval 1
输入该命令后,就会隔隔 1s
输出统计信息
default | 0 1 queues, 0 jobs total lie.16080 ?: 1 workers, 1 queues Updated: 2018-07-13 20:45:43.341502 default | 0 1 queues, 0 jobs total lie.16080 ?: 1 workers, 1 queues Updated: 2018-07-13 20:45:44.350300 default | 0 1 queues, 0 jobs total lie.16080 ?: 1 workers, 1 queues Updated: 2018-07-13 20:45:45.353852
时间间隔还可以使用浮点数,这样就可以精确到 毫秒
$ rq info --interval 0.5
当然了,这样做也会增加 Redis 的负载,所以使用前请三思
目前尚无回复