|
|
---
|
|
|
title: "RQ: Monitoring"
|
|
|
layout: docs
|
|
|
---
|
|
|
|
|
|
Monitoring is where RQ shines.
|
|
|
|
|
|
The easiest way is probably to use the [RQ dashboard][dashboard], a separately
|
|
|
distributed tool, which is a lightweight webbased monitor frontend for RQ,
|
|
|
which looks like this:
|
|
|
|
|
|
[![RQ dashboard](/img/dashboard.png)][dashboard]
|
|
|
|
|
|
To install, just do:
|
|
|
|
|
|
```console
|
|
|
$ pip install rq-dashboard
|
|
|
$ rq-dashboard
|
|
|
```
|
|
|
|
|
|
It can also be integrated easily in your Flask app.
|
|
|
|
|
|
|
|
|
## Monitoring at the console
|
|
|
|
|
|
To see what queues exist and what workers are active, just type `rq info`:
|
|
|
|
|
|
```console
|
|
|
$ 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
|
|
|
```
|
|
|
|
|
|
|
|
|
## Querying by queue names
|
|
|
|
|
|
You can also query for a subset of queues, if you're looking for specific ones:
|
|
|
|
|
|
```console
|
|
|
$ 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
|
|
|
```
|
|
|
|
|
|
|
|
|
## Organising workers by queue
|
|
|
|
|
|
By default, `rq info` prints the workers that are currently active, and the
|
|
|
queues that they are listening on, like this:
|
|
|
|
|
|
```console
|
|
|
$ rq info
|
|
|
...
|
|
|
|
|
|
Mickey.26421 idle: high, default
|
|
|
Bricktop.25458 busy: high, default, low
|
|
|
Turkish.25812 busy: high, default
|
|
|
3 workers, 3 queues
|
|
|
```
|
|
|
|
|
|
To see the same data, but organised by queue, use the `-R` (or `--by-queue`)
|
|
|
flag:
|
|
|
|
|
|
```console
|
|
|
$ 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
|
|
|
```
|
|
|
|
|
|
|
|
|
## Interval polling
|
|
|
|
|
|
By default, `rq info` will print stats and exit.
|
|
|
You can specify a poll interval, by using the `--interval` flag.
|
|
|
|
|
|
```console
|
|
|
$ rq info --interval 1
|
|
|
```
|
|
|
|
|
|
`rq info` will now update the screen every second. You may specify a float
|
|
|
value to indicate fractions of seconds. Be aware that low interval values will
|
|
|
increase the load on Redis, of course.
|
|
|
|
|
|
```console
|
|
|
$ rq info --interval 0.5
|
|
|
```
|
|
|
|
|
|
[dashboard]: https://github.com/nvie/rq-dashboard
|