{"id":7690,"library":"rq-dashboard","title":"RQ Dashboard","description":"RQ Dashboard is a general-purpose, lightweight web interface designed to monitor your RQ (Redis Queue) queues, jobs, and workers in real-time. It provides an intuitive UI for inspecting job statuses, queue lengths, and worker activity. The library typically sees patch releases for minor bug fixes or dependency updates, maintaining a stable API.","status":"active","version":"0.8.6","language":"en","source_language":"en","source_url":"https://github.com/Parallels/rq-dashboard","tags":["RQ","queue monitoring","dashboard","web UI","background jobs","Redis"],"install":[{"cmd":"pip install rq-dashboard","lang":"bash","label":"Install stable version"}],"dependencies":[{"reason":"Core job queue library it monitors.","package":"RQ","optional":false},{"reason":"Web framework used for the dashboard UI.","package":"Flask","optional":false},{"reason":"Underlying data store for RQ.","package":"redis","optional":false},{"reason":"Required for monitoring scheduled jobs.","package":"rq-scheduler","optional":false}],"imports":[{"note":"For programmatic integration into a Flask application, you import the 'blueprint'. The main dashboard is typically run via the 'rq-dashboard' command line tool, which doesn't require a direct Python import.","wrong":"import rq_dashboard","symbol":"blueprint","correct":"from rq_dashboard import blueprint"}],"quickstart":{"code":"import os\nfrom flask import Flask\nfrom rq_dashboard import blueprint\n\n# Configure Redis URL. rq-dashboard defaults to redis://localhost:6379/0\n# Use an environment variable for production readiness.\nos.environ['REDIS_URL'] = os.environ.get('REDIS_URL', 'redis://localhost:6379/0')\n\napp = Flask(__name__)\n\n# Set the RQ_DASHBOARD_REDIS_URL config for the blueprint\napp.config[\"RQ_DASHBOARD_REDIS_URL\"] = os.environ['REDIS_URL']\n\n# Register the RQ Dashboard blueprint under a specific URL prefix\napp.register_blueprint(blueprint, url_prefix=\"/rq\")\n\n@app.route(\"/\")\ndef index():\n    return \"<p>Hello from Flask app. Go to <a href='/rq'>/rq</a> for RQ Dashboard.</p>\"\n\nif __name__ == \"__main__\":\n    print(f\"RQ Dashboard accessible at http://127.0.0.1:5000/rq\")\n    print(f\"Connecting to Redis at: {app.config['RQ_DASHBOARD_REDIS_URL']}\")\n    # For local development, use debug=True. In production, use a WSGI server.\n    app.run(debug=True)\n","lang":"python","description":"This quickstart demonstrates how to integrate the RQ Dashboard into a minimal Flask application. This allows you to serve the dashboard alongside your existing Flask routes. Alternatively, you can run the dashboard as a standalone application using the `rq-dashboard` command-line tool after setting the `REDIS_URL` environment variable."},"warnings":[{"fix":"Implement authentication/authorization using a reverse proxy (e.g., Nginx with Basic Auth), integrate with a Flask security extension (e.g., Flask-Login, Flask-Security-Too) if embedding, or restrict network access (e.g., firewall rules).","message":"RQ Dashboard does not include built-in authentication or authorization. It's designed for use in a trusted environment or behind a proxy that handles security. Exposing it directly to the internet without protection is a significant security risk.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Set the `REDIS_URL` environment variable (e.g., `export REDIS_URL='redis://your_host:6379/1'`) before running `rq-dashboard` or configuring the Flask blueprint. Ensure Redis is running and accessible from the dashboard host.","message":"The dashboard's connection to Redis must be explicitly configured, especially if your Redis server is not running on `localhost:6379` or uses a different database. Incorrect `REDIS_URL` settings are a common cause of startup failures.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure `rq-dashboard` is updated to a recent version that is compatible with your `RQ` version. Check the `rq-dashboard` release notes or `setup.py` for specific `RQ` version requirements.","message":"Compatibility issues can arise between `rq-dashboard` and significantly older or newer major versions of `RQ` (Redis Queue) itself. While `rq-dashboard` aims to be broadly compatible, certain API changes in `RQ` may lead to unexpected behavior.","severity":"gotcha","affected_versions":"<0.8.0 with RQ >1.x or RQ <0.6"},{"fix":"Upgrade your Python environment to Python 3.6 or newer.","message":"Support for Python 2.x has been officially dropped. `rq-dashboard` now requires Python 3 for all recent versions.","severity":"deprecated","affected_versions":"0.7.0 and later"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Start your Redis server. Verify your `REDIS_URL` environment variable is correctly set (e.g., `export REDIS_URL='redis://your_redis_host:6379/0'`) or that Redis is running on the default `localhost:6379/0`.","cause":"The Redis server is either not running, not accessible from the host where rq-dashboard is running, or is configured on a different host/port/database than specified.","error":"redis.exceptions.ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused."},{"fix":"Install the library using `pip install rq-dashboard`. If using a virtual environment, activate it (`source .venv/bin/activate` or `conda activate your_env`).","cause":"The `rq-dashboard` library has not been installed, or the Python virtual environment where it was installed is not currently active.","error":"ModuleNotFoundError: No module named 'rq_dashboard'"},{"fix":"Activate your Python virtual environment (`source .venv/bin/activate`). If not using a virtual environment, ensure pip's script directory (e.g., `~/.local/bin`) is included in your system's PATH.","cause":"The `rq-dashboard` executable script is not in your system's PATH. This typically happens when a virtual environment is not activated or pip's script directory is not in PATH.","error":"rq-dashboard: command not found"},{"fix":"Ensure you have called `app.register_blueprint(blueprint, url_prefix=\"/rq\")` (or your desired prefix) and are accessing the dashboard at the correct URL (e.g., `http://127.0.0.1:5000/rq`).","cause":"When embedding `rq-dashboard` into a Flask application, the blueprint might not be registered correctly, or the `url_prefix` is wrong, leading to routes not being found.","error":"werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server."}]}