跳转到主要内容

rq-dashboard是一个通用、轻量级的Web界面,用于实时监控您的RQ队列、作业和工作者。

项目描述

简介

rq-dashboard 是一个通用的、轻量级的基于 Flask 的 Web 前端,用于实时监控您的 RQ 队列、作业和工作者。

Build Pull Request Publish Release Python Support PyPI Downloads

成熟度说明

RQ 仪表板目前正在开发中,处于测试阶段。有关如何迁移到 1.0 版本的说明,请参阅此处

您可以在 github 的讨论页面找到帮助,或者加入我们的 discord 服务器

使用 Docker 安装

您还可以在 Docker 内运行仪表板

  • 将存储库根目录中的 docker-compose.yml 文件复制到 docker-compose.override.yml,并根据需要更改环境变量。

  • 运行以下命令

    $ docker-compose up
    

您也可以在 cjlapao/rq-dashboard:latest 上找到官方镜像

从 PyPI 安装

$ pip install rq-dashboard

运行仪表板

以独立方式运行仪表板,如下所示

$ rq-dashboard
* Running on http://127.0.0.1:9181/
...
$ rq-dashboard --help
Usage: rq-dashboard [OPTIONS]

  Run the RQ Dashboard Flask server.

  All configuration can be set on the command line or through environment
  variables of the form RQ_DASHBOARD_*. For example RQ_DASHBOARD_USERNAME.

  A subset of the configuration (the configuration parameters used by the
  underlying flask blueprint) can also be provided in a Python module
  referenced using --config, or with a .cfg file referenced by the
  RQ_DASHBOARD_SETTINGS environment variable.

Options:
  -b, --bind TEXT                 IP or hostname on which to bind HTTP server
  -p, --port INTEGER              Port on which to bind HTTP server
  --url-prefix TEXT               URL prefix e.g. for use behind a reverse
                                  proxy
  --username TEXT                 HTTP Basic Auth username (not used if not
                                  set)
  --password TEXT                 HTTP Basic Auth password
  -c, --config TEXT               Configuration file (Python module on search
                                  path)
  -u, --redis-url TEXT            Redis URL. Can be specified multiple times.
                                  Default: redis://127.0.0.1:6379
  --poll-interval, --interval INTEGER
                                  Refresh interval in ms
  --extra-path TEXT               Append specified directories to sys.path
  --disable-delete                Disable delete jobs, clean up registries
  --debug / --normal              Enter DEBUG mode
  -v, --verbose                   Enable verbose logging
  -j, --json                      Enable JSONSerializer
  --help                          Show this message and exit.

将仪表板集成到您的 Flask 应用中

您可以通过直接访问蓝图来将仪表板集成到您自己的 Flask 应用中,例如。

from flask import Flask
import rq_dashboard

app = Flask(__name__)
app.config.from_object(rq_dashboard.default_settings)
rq_dashboard.web.setup_rq_connection(app)
app.register_blueprint(rq_dashboard.blueprint, url_prefix="/rq")

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

如果您以默认端口启动 Flask 应用,您可以通过 http://localhost:5000/rq 访问仪表板。`cli.py:main` 入口点提供了一个简单的示例。

在 Heroku 上运行

请考虑使用第三方项目 rq-dashboard-on-heroku,它从 PyPI 安装 rq-dashboard 并将其封装在 Gunicorn 中,以便部署到 Heroku。rq-dashboard-on-heroku 是独立维护的。

在反向代理后运行

您可以将仪表板作为 Linux 上的 systemd 服务或通过 suprevisor 脚本运行,然后使用 Apache 或 NGINX 将流量定向到仪表板。

这仅适用于 非生产 功能!

Apache 反向代理示例

ProxyPass /rq http://127.0.0.1:5001/rq
ProxyPassReverse /rq http://127.0.0.1:5001/rq

Systemd 服务示例

[Unit]
Description=Redis Queue Dashboard
[Install]

WantedBy=multi-user.target
[Service]
ExecStart=/bin/rq-dashboard -b 127.0.0.1 -p 5001 --url-prefix /rq -c rq_settings_dashboard --debug -v
StandardOutput=file:/var/log/redis/rq-dasbhoard.log
StandardError=file:/var/log/redis/rq-dashboard.log
User=redis-dash
Group=redis-dash
RemainAfterExit=yes
Type=simple
PermissionsStartOnly=false
PrivateTmp=no
  • --debug-v 是可选的 -- 它们将 stdout 写入您指定的文件。
  • rq_settings_dashboard 是一个 Python 文件,其中定义了设置。您可以使用作为环境变量提供的选项。(例如 RQ_DASHBOARD_REDIS_PASSWORD = password

开发

在虚拟环境中开发,并确保您具有所有必要的构建时间(和运行时间)依赖项

$ pip install -r requirements.txt

以常规方式开发

$ python setup.py develop

统计数据

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

rq_dashboard-0.8.0.2.tar.gz (205.5 kB 查看哈希值)

上传时间 源代码

构建分发版

rq_dashboard-0.8.0.2-py2.py3-none-any.whl (210.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持