Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hannes221/rq-dashboard-fast

Redis Queue Dashboard based on FastAPI
https://github.com/hannes221/rq-dashboard-fast

dashboard docker docker-image fastapi python redis redis-queue redis-queue-monitor rq rq-dashboard

Last synced: about 7 hours ago
JSON representation

Redis Queue Dashboard based on FastAPI

Awesome Lists containing this project

README

        

# RQ Dashboard FastAPI 🛠

![Redis](https://img.shields.io/badge/redis-%23DD0031.svg?style=for-the-badge&logo=redis&logoColor=white)
![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi)
![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)




`RQ Dashboard FastAPI` is a general purpose, lightweight FastAPI-based web frontend to monitor your RQ queues, jobs, and workers in real-time.
Goal of this package is to ease integration into FastAPI-Applications and provide a Docker Image for convenience.

Screenshot 2024-02-09 at 18 14 13


Featured in Related Projects [Redis Queue Docs](https://github.com/rq/rq)

## Example Usage

```python
from fastapi import FastAPI
from rq_dashboard_fast import RedisQueueDashboard
import uvicorn

app = FastAPI()
dashboard = RedisQueueDashboard("redis://redis:6379/", "/rq")

app.mount("/rq", dashboard)

if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
```

Access the Dashboard at

```
http://127.0.0.1:8000/rq
```

## Installing from PyPi

PyPi: [rq-dashboard-fast](https://pypi.org/project/rq-dashboard-fast/)

```
$ pip install rq-dashboard-fast
```

## Running in Docker

1. You can run the RQ Dashboard FastAPI as a Docker container with custom Redis URL:

```
docker run -e REDIS_URL= hannes221/rq-dashboard-fast

```

Access the Dashboard at

```
http://127.0.0.1:8000/rq
```

To change change the port, you can specify the following flag:

```
docker run -e REDIS_URL= -e FASTAPI_PORT= hannes221/rq-dashboard-fast
```

Replace with your desired FastAPI and host port.

2. You can use Docker Compose by creating a docker-compose.yml file:

```
version: '3.11'
services:
dashboard:
image: hannes221/rq-dashboard-fast
ports:
- '8000:8000'
environment:
- REDIS_URL=
```

Then run:

```
docker compose up
```

Access the Dashboard at

```
http://127.0.0.1:8000/rq
```

To change the part update the compose file:

```
version: '3.11'
services:
dashboard:
image: hannes221/rq-dashboard-fast
ports:
- ':'
environment:
- REDIS_URL=
- FASTAPI_PORT=
```

Replace with your desired FastAPI and host port.

Docker Hub: [hannes221/rq-dashboard-fast](https://hub.docker.com/r/hannes221/rq-dashboard-fast)

## Github Repository

Github: [rq-dashboard-fast](https://github.com/Hannes221/rq-dashboard-fast)

```
$ pip install rq-dashboard-fast
```

## Planned Features

- [x] Data from rq-scheduler
- [x] More data about workers
- [x] Docker Image
- [x] Add pagination to jobs page
- [x] Data Export
- [ ] Statistics Tab
- [ ] Run Standalone (Terminal)

## Contributing

If you want to contribute, reach out or create a PR directly.