jobmonitor

Physics-orientated job monitoring over HTTP with Flask.


License
Other
Install
pip install jobmonitor==0.0.5

Documentation

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

Build status

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.