All Projects β†’ pranavgupta1234 β†’ rqmonitor

pranavgupta1234 / rqmonitor

Licence: Apache-2.0 license
Flask based more dynamic and actionable frontend dashboard for monitoring Redis Queue πŸ‘©πŸΏβ€πŸ’» http://python-rq.org

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to rqmonitor

Rq
Simple job queues for Python
Stars: ✭ 8,065 (+5205.92%)
Mutual labels:  workers, job-queue, task-queue, rq
celery.node
Celery task queue client/worker for nodejs
Stars: ✭ 164 (+7.89%)
Mutual labels:  workers, job-queue, task-queue
Flower
Real-time monitor and web admin for Celery distributed task queue
Stars: ✭ 5,036 (+3213.16%)
Mutual labels:  workers, task-queue
Django Rq
A simple app that provides django integration for RQ (Redis Queue)
Stars: ✭ 1,361 (+795.39%)
Mutual labels:  job-queue, task-queue
orkid-node
Reliable and modern Redis Streams based task queue for Node.js πŸ€–
Stars: ✭ 61 (-59.87%)
Mutual labels:  job-queue, task-queue
theeye-of-sauron
TheEye Dockers and QuickStart
Stars: ✭ 27 (-82.24%)
Mutual labels:  workers, task-queue
Dingo
An easy-to-use, distributed, extensible task/job queue framework for #golang
Stars: ✭ 289 (+90.13%)
Mutual labels:  workers, task-queue
Honeydew
Job Queue for Elixir. Clustered or Local. Straight BEAM. Optional Ecto. πŸ’ͺ🍈
Stars: ✭ 670 (+340.79%)
Mutual labels:  workers, job-queue
Qutee
PHP Background Jobs (Tasks) Manager
Stars: ✭ 63 (-58.55%)
Mutual labels:  workers, job-queue
flask-redis-docker
A minimal template for dockerized flask app with redis task queue
Stars: ✭ 49 (-67.76%)
Mutual labels:  task-queue, rq
meesee
Task queue, Long lived workers for work based parallelization, with processes and Redis as back-end. For distributed computing.
Stars: ✭ 14 (-90.79%)
Mutual labels:  workers, task-queue
metroid
Metroid - Metro for Django (An async Azure Service Bus receiver, triggering task in Celery/RQ)
Stars: ✭ 27 (-82.24%)
Mutual labels:  rq
handbook
We're a small high-trust livelihood pod doing tech consulting within Enspiral.
Stars: ✭ 35 (-76.97%)
Mutual labels:  workers
Text2Video
WriteMyVideo's purpose is to help people create videos quickly and easily by simply typing out the video’s script and a description of images to include in the video.
Stars: ✭ 19 (-87.5%)
Mutual labels:  rq
python-task-queue
Asynchronous serverless task queue with timed leasing of tasks. Threaded implementations for SQS and local filesystem.
Stars: ✭ 24 (-84.21%)
Mutual labels:  task-queue
queue
A task queue library for Go.
Stars: ✭ 26 (-82.89%)
Mutual labels:  task-queue
Lumpik
[experimental] Lumpik is a job queue system for general purpose.
Stars: ✭ 21 (-86.18%)
Mutual labels:  job-queue
university
proof of concept to detect website visits from a university
Stars: ✭ 17 (-88.82%)
Mutual labels:  workers
jobqueue
Jobqueue manages running and scheduling jobs (think Sidekiq or Resque for Go).
Stars: ✭ 37 (-75.66%)
Mutual labels:  workers
mysqly
Full-featured opensource small-overhead PHP data framework for Mysql built for fast and efficient development
Stars: ✭ 18 (-88.16%)
Mutual labels:  job-queue


RQ Monitor

RQ Monitor is Flask based more actionable and dynamic web frontend for monitoring your RQ.

GitHub PyPI PyPI - Python Version GitHub issues GitHub pull requests Travis (.org) Docker Image Size (latest by date)

Key Features β€’ Install β€’ Docker β€’ Usage β€’ Credits β€’ Contribute β€’ Similar Tool β€’ License

screenshot

Key Features

  • Redis RQ Memory Monitoring - Implemented through Lua Scripting
    • Possibly RQ is not the only work your redis is doing and you want to keep a close eye on memory consumption of RQ namespace. Be little careful while executing it on production environment with large data as script may block your redis for some time.
  • Send Signals to remote workers
    • Using rqmonitor you can suspend/resume/delete your workers for debugging purposes which can be located on same instance running rqmonitor or some other instance in your network.
    • rqmonitor internally uses fabric for sending commands to remote workers.
    • Make sure the instance running rqmonitor have proper access to other instances running rq workers which can be achieved by properly configuring ssh, so make sure appropriate entries are added inside ssh_config.
  • All data population through DataTables:
    • Queues and Workers dashboard are rendered by client side DataTables so you get additional functionality of sorting, searching, robust pagination.
    • Jobs dashboard is rendered with server side option enabled of DataTables for easy loading of very large number of jobs.(Ajax Pipeling also planned in future)
  • More Ajax Less Reloading
    • Once after firing up the dashboard, little to no refresh is necessary, almost every refresh is done via ajax.
  • Jobs Filtering Support
    • You can choose to view a set of jobs from certain queue with certain status.
  • Global Actions
    • You can easily delete/empty multiple queues, jobs and suspend/resume workers.
  • Last but not the least is beautiful UI
  • More features coming!

Install

  1. Install rqmonitor with pip
    • $ pip install rqmonitor
  2. For Docker check below.

Docker

You love docker, don't you ?

Pull rqmonitor latest docker image from dockerhub

docker pull pranavgupta1234/rqmonitor
docker run -p 8899:8899 pranavgupta1234/rqmonitor

The above command will successfully run the flask app but your redis is probably on your docker host then provide your docker host private IP for redis url via env, like:

docker run --env RQ_MONITOR_REDIS_URL=redis://<your-private-ip>:6379 -p 8899:8899 pranavgupta1234/rqmonitor

Usage

CLI options are similar to that of rq-dashboard. Download latest version of rqmonitor from pypi and fire up your command line and type rqmonitor --help.

Usage: rqmonitor [OPTIONS]

  Run the RQ Monitor Flask server.

  All configuration can be set on the command line or through environment
  variables of the form RQ_MONITOR_*. For example RQ_MONITOR_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_MONITOR_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
  --refresh-interval, --interval INTEGER
                                  Refresh interval in ms
  --extra-path TEXT               Append specified directories to sys.path
  --debug / --normal              Enter DEBUG mode
  -v, --verbose                   Enable verbose logging
  --help                          Show this message and exit.

Credits

This software is majorly dependent on the following open source packages:

Contribute


  1. Clone repo and create a new branch: $ git checkout https://github.com/pranavgupta1234/rqmonitor -b name_for_new_branch.
  2. Make changes and test
  3. Submit Pull Request with comprehensive description of changes

Similar Tool

Some snippets in rqmonitor have been used from rq-dashboard.

License

Apache 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].