Job monitoring
A Flask web application to monitor rq jobs, with a preference for
monitoring histograms using d3.plotable
.
This base package allows you to quickly get a robust submit-poll loop up on running on the client side, with the server handling job submission and results retrieval.
See example-monitoring-app
for an example application that uses
jobmonitor
to display histograms from a ROOT file, including
example deployment scripts in a Vagrant virtual machine.
Installing
Pip is the recommend way of installing the jobmonitor
module. As
the latest release is available on PyPI, installing it is simple.
$ pip install jobmonitor
The latest development version, the head of the master branch, can be installed instead, if desired.
$ pip install "git+https://github.com/alexpearce/jobmonitor.git#egg=jobmonitor"
Either option will automatically install the monitor’s dependencies.
Running
The job monitor doesn’t do much user-facing stuff by itself, instead it
is expected that you will want to create a ‘child’ application that
uses jobmonitor
. You can run the application if you like though,
once it is installed, by creating and running a script to start
Flask’s development server.
import jobmonitor
app = jobmonitor.create_app()
app.run(debug=True)
The rq workers can be started with a separate script. An example is included. A Redis database is expected to be running when the workers start.
Testing
Tox is recommended to run the test suite for the jobmonitor
module.
$ git clone https://github.com/alexpearce/jobmonitor.git
$ cd jobmonitor
$ pip install tox
$ tox
This will run the test suite under the Python environments defined in
the tox.ini
file.