rq-dashboard是一个通用、轻量级的Web界面,用于实时监控您的RQ队列、作业和工作者。
项目描述
简介
rq-dashboard
是一个通用的、轻量级的基于 Flask 的 Web 前端,用于实时监控您的 RQ 队列、作业和工作者。
成熟度说明
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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 696180b237e036e75d4c10f80446a250c7ee884743c2a84cd976bd10ecfaa037 |
|
MD5 | 1e1d5a6a06b11250949463a3149fe750 |
|
BLAKE2b-256 | 69eb838fe42bbb2d24e383c24aaef5490facb84c7b241971461c4c8c72ca3df3 |
rq_dashboard-0.8.0.2-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 77d30a8a2a19608e5bb1cd9591c7d9fd23a1ece4c743462ec49cdf7ed206501d |
|
MD5 | 542534ba03aa19dd63d29b46a868e20e |
|
BLAKE2b-256 | 2333d019fb2677410610eda5e3b09ddd38e34a722457f595d052685b8d66106b |